能煮熟鸡蛋的慢 SQL!阿里巴巴数据中心的“煮蛋史”!_java


阿里又开始炫技了,这不昨天公布的阿里数据中心的“绿色KPI”。让你在淘宝上下一个订单,用到的阿里数据中心的电能持续下降一个数量级,产生的能耗下降一个数量级。


淘宝的请求,平均每个不会超过 1 秒。而国际巨头 Amazon 得出的结论是,网站每延长 1 秒响应一年少赚 16 亿。可见网站速度优化是有多么的重要!


能煮熟鸡蛋的慢 SQL!阿里巴巴数据中心的“煮蛋史”!_java_02


昨天,阿里巴巴公布了一个其数据中心的“煮蛋史”。


2005年,处理10笔电商订单产生的热量可以煮熟4个鸡蛋;


2015年,经过阿里工程师的努力,这个热量只可以煮熟1个鸡蛋;


现在,使用最新的液冷技术后仅能煮1个鹌鹑蛋了。


现在假设你平时写的代码 SQL 质量差一点,那么每调用一次这样的 SQL,可能就会煮熟 N 个鸡蛋。


A,B 两个表数据规模十几万,数据规模都不大,单机 MySQL 够用了。但现在要在单机的基础上要关联两表的数据,先说一个极端情况,A,B两个表都没有索引,并且关联是笛卡尔积,那关联结果会爆炸式增长,可能到亿级别,这个时候网络 IO 就成了瓶颈。耗时也就会越长,SQL 越慢,消耗的电能越多,产生的能量就越大,煮熟鸡蛋的数量也就越多。


为此很多人下苦功夫去学习 SQL 优化。但是很多人基础知识太薄弱,导致越看越浮躁,根本看不进去,因为太难了,且没有找到学习方法,造成效率低下。


总结而言就是 SQL 的学习仅仅浮于表面,那么如何系统的学习 SQL?在这里我找到一张非常全面的 SQL 学习框架图,内容包括:SQL 中的 DQL、DDL、 DML、 DCL的使用;SQL 的优化方法;常用的 SQL 标准解读;如何玩转各种 SQL 标准的数据库、常见的 NoSQL 等等。


会 SQL 语法不等于会写 SQL。比如,下面这个《SQL必知必会》的脑图上,全会的屈指可数。需要高清脑图的加微信号:xttblog,所要!


能煮熟鸡蛋的慢 SQL!阿里巴巴数据中心的“煮蛋史”!_java_03


上面这个脑图中的知识,将在极客时间昨天推出的《SQL必知必会》专栏中呈现,这个专栏的作者是陈旸,他会从基础讲起,带你巩固扎实的 SQL 语法,再以工作中的常见问题为例,带你编写高性能的 SQL 语句,最终学会在项目中使用 SQL。


身处互联网行业,SQL 可能是你需要掌握的核心技能之一。


那么我为什么推荐这个专栏,比起市面上的资料,有什么特色?


因为在学习使用 SQL 的时候,总是需要一些数据,但目前主流的 SQL 书本或者网络上用的基本是千篇一律的数据表(比如查询超市数据表),为此他特地整理了一份“王者荣耀数据库”以及“NBA球员数据库”,以便基于此进行 SQL 的实操训练。就游戏而言,数据查询就涉及很多知识点,包括多表联查、分区分库、用户权限、排行榜、大规模并发和用户数据安全等等。




作为一名程序员,学好 SQL 无疑是基本技能;如果你是产品经理或者运营,那么学好 SQL 将会为你的职场提供独特的差异化,帮你从不同的视角看待数据。相信陈旸可以带你从入门到数据实战,真正学好 SQL 这门高性价比的语言,让你的职业生涯更具备竞争力。