作者:云栖社区特约记者林易
1952年,一台叫做UNIVAC的电子管计算机成功预测了美国总统大选,电传打字机上清晰无误的打印出了艾森豪威尔的名字。
许多人把这次事件,称为“标志着人类社会进入了计算机时代”。
很少有人注意到,UNIVAC一秒钟可以输入数百条记录的磁带驱动器,将引发数据管理的革命。
一个叫做“数据库”的产品,就这样降生在了人间。
22年以后余锋出生,也就是在这一时期,Ray Boyce和Don Chamberlin里程碑式地提出了SQL(Structured Query Language)语言。
在上个世纪八十年代,无线电热潮席卷了中国,少年余锋也成为了其中之一。
而就是在1984年,邓小平写下了“计算机要从娃娃抓起”的国策。
1993年,余锋第一次在大学中见到了286计算机,作为无线电爱好者的他,几乎直觉的认为这就是未来。
虽然学习的是机械专业,但几经折腾,最后余锋还是进了数据库这个行当。
对于这个当时未知的行当,余锋说,你有过去的一些经历了以后再去做一个新的东西,你其实是不怕的。
“把交流电接到直流电机里面去不会转,但是装四个二极管进去它就转了。你懂电路基本的原理,电机就一定会转。数据库也一样。”
余锋,花名褚霸,阿里巴巴数据库研究员,专注在AliSQL 6年,江湖人称霸爷,数据库大神。
术业有专攻
“什么是专家?专家就是帮人家搞定一些人家搞不定的模块,搞不定的问题。”至今为止,余锋记得很多年前的一件往事。
IO(Input/Output)是计算机的底层基础,IO本身并不复杂,但是涉及的面非常的广泛,从api接口到操作系统IO子系统,从驱动程序到硬件,整个流程必须全部适配,任何一个地方有问题效果就会打折,所以必须吃透这条线。
关键是,要懂得其中的原理。
余锋请教了当时内核组负责人伯松,伯松想了想说,有生之年能把它搞明白,我就觉得不错了。
有时候,绝望和希望是一枚硬币的正反面。
伯松的话,不仅没让余锋退却,反而让他“魔怔”起来。
那段时间余锋尽量把CPU,内存的东西往下挖,自己把他串起来。
“早上开车,中午吃饭,晚上睡觉。脑子里全是在想这个,一天可能研究11个小时。”余锋说。
半年以后,余锋终于基本搞定了IO这道难题。
而在另外一个项目虚拟机上,余锋花费了超过1万小时的时间。
“我自己觉得大家都是差不多聪明的,看谁花的时间多,谁有能解决问题,什么叫术业有专攻?专就是多花时间,多琢磨。”
“我们今天做云产品,真正好的产品,体验是无数细节堆起来的,每个细致到了一定规模都是魔鬼,都需要深挖,都是代码支撑起来的,所以说像这种经历对后面帮助很大。
因为就跟我第一天就没接触这个之前去找答案的时候,其实很难理解,但我没有这个问题的,很自然的能接受这个方式,本来CPU那个层面就是Code,它就是一条条指令下来。”
学习是预知未来的能力
入职阿里的时候,余锋本来是准备来做分布式系统的,一个月以后,当时的主管正明问余锋,数据库有个缺,要不你来干?
到了以后,发现只有他和另外一个同事丁奇共两个人,余锋的阿里数据库之路就这样起步了。
数据库产品和别的产品不同,数据库是每时每刻都在运转的,对于稳定性来说,要求非常的高。
要是出了问题,用余锋的话来说,“用户弄死你。”
所以那段时间,余锋不断的和同事解决多线程的问题,资源隔离性的问题等等。
对于一个庞大的系统来说,可能一个很简单的一个技术,真正在一个活的一个系统里就变得特别复杂。
“中间数据怎么去无缝去切入?你在地上就装一个引擎太容易了,那空中你怎么换?”
余锋说,那段时间他经常睡不好。
数据库还有一个特殊之处,他的生命周期要求很长,5年甚至10年,中间硬件技术会不停的变革,用户需求也会变化,通过一个什么样的架构,去适应未来的环境,就成为了必须掌握的能力。
“那么在这个情况下,你要去发现什么是变的,什么是不变的,而学习,就是预知未来的能力。”
“5年前技术在现在一文不值,现在的技术3年以后也分文不值,最贵的是什么,是你的学习能力。”
“在阿里,不是看你过去会什么,没关系,关键是你是不是愿意学习,你对技术有热情。”
ALISQL:把双11的能力反哺使能社会
2012年,时任阿里数据库组成员的褚霸,在双11中看到大量数据的产生,将在这个领域带来从量变到质变的飞跃。
在他看来,数据库和国际接轨,甚至弯道超车的可能性非常大。
因为数据库是一个和国际很接轨的产品,阿里和国际企业做的事情,遇到的考验,都有高度的一致性。
但在中国有一个无可比拟的优势,这里离用户非常近。
这周写下的代码,下周就可能要交付给用户。
用户一旦遇到问题,第一时间就要响应,反应速度要比用户都要快。
余锋团队认为,对于用户来说,数据库最重要的是安全和稳定,而这两件事恰恰又是一个全链路的事情:从客户的应用端访问,到中间链路层,最后到底层的数据存取,要构建一个安全和稳定体系十分复杂。
“我们以ApsaraDB MySQL安全能力的构建思路与方法,安全的问题需要从事前、事中、事后三个时间轴,以及存储层、网络层、访问层、应用层四个层面,立体化地构建解决方案。”余锋说
而在这个过程中,系统从最早的不完善,到标准化,规模化了以后,又要求系统自动化的去做些事情,降低运维成本,最后又需要对数据进行分析产生价值。
沿着上面的演进,余锋团队开发出来了诞生出来很多系统,云数据库运维平台杜康,自动修复告警和异常的robot系统,自动迁移离散的移山系统,巡检系统吹沙,全链路监控系统,天象智能运维系统,CloudDBA专家服务系统等等。
说起在双11这个极限场景中数据库的技术演进,余锋用了几个短句来介绍:
- 2012年,是肩挑背扛和逐个优化
- 2013年,优化改造指数增长的数据链路
- 2014年,注入拦截保证数据安全
- 2015年,实现了资源自动离散与收容和自动化诊断
通过这些年的沉淀、打磨,ApsaraDB在稳定,安全,性能上大大提升。
不仅如此,ApsaraDB团队还把这样的能力反哺赋能给社会。
经过5,6年的沉淀,阿里云数据库团队累积为MySQL社区贡献近300个Patch。
在通用基准测试场景下,AliSQL版本比MySQL官方版本有着70%的性能提升。在秒杀场景下,性能提升100倍。
在2016年的云栖大会上,阿里云宣布,AliSQL正式开源。
“技术不是凭空讲出来的,是在解决问题的过程中一步步累积出来的,沉淀到系统,沉淀到团队。” 余锋说。
管理:工程师要做这个领域最棒的
在余锋眼中,对于编程语言的选择,只有两个标准:效率优先和白盒子,所谓白盒子,就是出了问题你能解。
除此之外,八仙过海,各显神通。
余锋认为恰恰是自己的“不爱”管理,成就了团队的管理风格。“给工程师一个好的环境,是保障百花齐放的重要基础。好的团队环境是有宽松的环境让伙伴去做,出了东西有人鼓掌,失败了有人挡枪。”
余锋带团队颇有古代师徒之风,对于每一个新人,余锋都会对他有几个要求。
“你出去就得是阿里最好的,全国领先的,这个领域最棒的,那我就认你是从我的部门出去的。”
“男人最重要的是把自己养好了,再把家人养好了,再有能力养国家。”
福建人余锋喜欢喝茶,也喜欢在茶中悟道,在余锋看来,万物皆和当年的那个小马达一样,只要懂得原理,自然就有方法悟道。
在某知识社区中,有一个帖子名字叫做“淘宝的褚霸技术水平如何?”
在这个问题底下,有36个答案。
其中一个答案,是前淘宝技术大学的校长写的。
在淘宝技术大学的时候,邀请褚霸(余锋)做了很多基础性的分享。
来听的有不少牛人,讲完有好事者建了一个旺旺群,叫“拜霸爷神教”,据说教徒广众。
而最经典的一句评论则是:“褚霸对于计算机的了解到了庖丁解牛的程度。”