“商品库”是淘宝系统里最大的一个核心数据库,存储着所有宝贝的描述、价格、评价。
虽然犹如一辆赛车在全速前进中更换引擎,牵一发而动全身,但是商品库的日常读多写少,通过前期的拆分,写部分都已被剥离出来,逻辑相对好掌控。
这已经是所有选项中最稳妥的选项了。
2010年1月,淘宝商品库开始了如非洲角马一般浩荡的迁徙。此岸土地开始干涸,彼岸水草逐渐丰美。阳光刚猛,波涛壮阔,勇者争渡,懦者哀鸣。
此时,故事里的另一位主角才姗姗来迟。他就是日后被人们称为“霸爷”,并且一众码农专门为他创建了“拜霸神教”的褚霸。
如果非要形容,我觉得褚霸像个“数字屠夫”。
这位网易工号25,迅雷工号前10的技术大神手里常提一把血淋淋的刀,一边“庖丁解牛”般把程序解剖成底层电路上的嘶嘶电流,一边看向围观震惊的吃瓜群众,摆出一副“都坐下,都坐下,这是基本操作”的傲骄表情。

褚霸
2010年5月,褚霸加入大神章文嵩领衔的“淘宝核心系统部”。
仅仅一个月过后,老板章文嵩就找到他说:“后羿那边在用开源数据库替换淘宝的商品库,遇到一些底层问题,想让你组建一个小分队去支援一下,你有没有信心?”
“有!”
能用一个字解决的问题,褚霸绝不说两个字。
你可能难以想象,说出这句话的时候,褚霸根本没做过数据库。他特别熟悉的是网络方向,而存储方向的核心技术是“I/O”(输入输出技术)。打个比方,一个是神经科,一个是脑科,完全不是一个领域。
褚霸去问当时内核组负责人伯松:“这个 I/O 要搞明白,一般需要多久?”
伯松抬抬眉毛,冷静地说:“有生之年能搞懂就不错了。”
褚霸嘴张得老大,一时无语凝噎。不过几分钟以后,他就下定决心:老子混了十一年开源社区,还没听说过哪个技术要花一辈子时间。既然是“I/O”先动的手,那就来吧,不服就干!
凭借“江湖嗅觉”,他很快就“捞”到一位大神,这位大神是 Linux Kernal“I/O”这部分核心代码的贡献者,而褚霸发现他还同时开发过一个 I/O 测试工具。
“这就像汽车设计师本人开发了一个修车工具,这里面检测的参数肯定个个都有用啊!”褚霸想。
于是,就从这个测试工具入手,褚霸一头扎进了 Linux Kernal 上千万行的代码里。那段日子,昏天黑地。每一个参数褚霸都反复测试,确信搞明白了才去看下一个。经常一抬眼就已经到了凌晨三四点,刚躺下又突然意识到刚才理解错了,从床上弹起来继续看代码。
如此疯狂。几个月后,褚霸终于成功地。。。。进了医院。
从医院回来不久,褚霸就像《功夫》里那个筋脉尽断又重新生长的周星驰,突然恢复了全部元气。用他的话说就是:“闭上眼睛,就能想象出整个系统的齿轮是怎么转的。”
后羿带领的数据库研发团队和褚霸带领的志愿军,每周都会在一起交流。褚霸把脑海中那些零件一点点拆开讲给后羿团队听,后羿会把核心技术消化之后用来攻克难关。
于是,开源数据库 MySQL 的一个阿里巴巴专属分支 AliSQL 就这样被雕刻出来。
经历了九九八十一难,2011年7月,淘宝商品库终于完成了从 Oracle 到 AliSQL 的大迁移。这意味着软件替代方案被验证成功。
与此同时,硬件替代方案也在不停验证。
AliSQL 团队查验了当时世界上所有主流闪存、硬盘、计算芯片、网络芯片的性能,协助团队设计了一套兼顾网络性能、存储性能和成本最优的服务器采购方案。
软硬兼备。通往下一代数据库的大门,终于被技术人的血肉之躯撞开。整体迁移只待一声令下。
王坚拍板,从最早的那台小型机,到一年前刚刚购入的最后一台小型机,从此刻开始同时进入退役序列。
接下来,整个阿里巴巴集团进入了 2012-2013 年史诗般的整体大迁移。

(五)末法时代
历史的浪潮滚滚向前,但每一朵浪花却有不同的命运。
自从王坚宣布“数据库大迁移”从淘宝商品库扩大到全集团以来,阿里巴巴内部反对的声音开始逐渐弥漫。
一些元老对于新技术并不信任,他们反复在高层会议上表示:用开源数据库替代 Oracle,有意义吗?
阿里人并不会从私利出发考虑问题,反对派技术人也不是阴谋家,他们只是阿里巴巴体内的“白细胞”,有义务用自己的专业知识,保证阿里巴巴这条大船不会被几个激进的“开源技术原教旨主义者”弄沉。
历史很有趣。
用望远镜回望,一段岁月是创新和保守的美妙制衡;
用显微镜查看,那却是每人每日的拼死角力和煎熬。
2012年,是阿里巴巴历史上打不开的结。
中哥在《阿里云的这群疯子中》曾经写到,彼时的王坚,高处不胜寒。承载了他二十年技术理想的飞天系统屡次“试射”失败,阿里云摇摇欲坠。如此激进的数据库替代战略,也顺理成章地被认为是危险的。
但上帝是个公平的庄家。你要是相信未来,不用多说,只需要在生命的赌盘上不断加注。
在不同的会议室里,在不同的场合,在不同的时间。面对质疑,后羿看到王坚沉默,看到振飞沉默,他唯独没有看到任何人为理想停下哪怕半步。
AliSQL 数据库就这样一点一滴地渗透进集团的每一个服务中。
2012年,全淘宝最后一台小型机宣布下线。这本来是一个史诗级的时刻。遗憾的是,那正是两条技术路线交锋最激烈的日子。现场只有四五个人,后羿组织大家认真地拍了一张合影。时间无声,这至少是一场对自己的交代。
同年,还发生了一件影响深远的“小事”。
阿里巴巴“大儿子”B2B团队和“二儿子”淘宝团队合二为一,后羿接管B2B数据库团队。
淘宝网已经被“蹂躏”完毕,而阿里巴巴B2B团队的数据库团队还懵懵懂懂。此时已经没有什么可以动摇后羿的决心。
长痛不如短痛,他用决绝的方式推进阿里巴巴B2B的同事们从 Oracle 过渡到 AliSQL 数据库。结果是,20个 Oracle DBA,最终出走了15人。
内网上烽烟四起,一篇名为《淘宝的成功不可复制》的文章成为热帖,口诛笔伐如雨点袭来。
多难的技术都没有击倒后羿,但那一刻,他忽然觉得自己走不动了。
从 Oracle DBA大神,到 AliSQL 的开创者,后羿背负着沉重的理想走了六年。人人都说黎明在前,但天为什么永远不亮?人人都说梦想可贵,但真的要剖开胸膛才能让所有人看到自己的一片丹心?
那天,后羿对振飞说,“也许是我离开的时候了。”
这一击甚至也超过了振飞的预料。
当晚一家小饭馆里,振飞和后羿两家人坐在一起。“我不允许自己的兄弟功败垂成。”振飞说。烈酒入喉,过往的烟尘被马蹄扬起,在天地间飘荡。
振飞还是把后羿留下来了。
2013年5月17日,支付宝最后一台小型机下线,这也是阿里巴巴全集团最后一台小型机下线。历时三年,一场赛博世界的大迁移自此落下帷幕。
现场媒体拍下了这张照片。

阿里巴巴最后一台小型机下线
人们看到一排欢乐的脸蛋儿,谁又能知道,这背后又藏着多少人的过往,和那些岁月里碾不碎的挣扎和不甘。
无数在过去三年里把这件事变成可能的人,此刻像河彼岸升腾的焰火,映出众人的微笑。人们总是喜欢璀璨。而在焰火升起之前的漫长寒夜里究竟发生了什么,他们并无兴趣。
(六)钢铁时代
唯有热血换不来粮食,只靠勇敢赢不下战争。
2012年是“官宣”的世界末日,大多数人最担心的是12月21日,而阿里技术人最担心的却是11月11日。
因为这一天,阿里巴巴将第四次返回那个盛大的战场——“双11”。人们预测,这一年的淘宝天猫总销售额会超过100亿。100亿,一秒数一张,够你不睡觉数三年。
张瑞刚刚并入淘宝数据库团队,后羿就让他做“双11”数据库的总指挥。与此同时,刚好淘宝天猫的所有数据库都从 Oracle 替换成了AliSQL。
这意味着什么呢?张瑞就像一个转校生,刚领到新的教材,第二天就要参加高考。这太刺激了。
100亿的成交额,意味着数据库里的一条热点记录,每秒钟最多要被修改十几万次。什么样的钢铁数据库可以承受这样的蹂躏呢?
彼时,阿里巴巴还不具备“全链路压力测试”的能力。换句话说,谁都没办法把“双11”可能遇到的情况完整演习一遍,只能靠局部测试甚至大脑里的思想实验来推演,摸着石头过河。
11月11日,大战来临。
零点钟声刚敲响,巨大的数据洪流涌向阿里巴巴的服务器,资源占用数值直线拉起,所有人的目光都随着曲线向上抬升。几秒钟过后,数据库资源占用值像一辆失控的赛车,径直撞向100%。
张瑞脑中一片空白。
如果2012年“双11”零点前后你正在参与剁手,一定会记得,有那么半分钟,所有的页面都卡顿在半空。
就在同一时刻的杭州,阿里巴巴内部的数据迅速淤积,发动机已经被烧红。这套即将崩溃的 AliSQL数据库,背后是无数人的赌命奋战。它太贵了,贵到没人能承受失去。
大家都在看着总指挥李津,只等他下令,拍停数据库,拍死兄弟们无数个白天和日夜。
只见李津站起来,大喊:“大家都别慌!”
所有人的手就这么悬在半空,一秒、两秒。。。主屏幕上的成交数据突然开始松动,缓慢抬升。数据库里的记录每秒都被十几万次海啸疯狂地冲刷。一点一点,数据库的运转速度,缓慢而坚定地追上了全国人下单的速度。之前一分钟淤积的数据,也在被消化。
一切安然度过,仿佛一场鹅毛大雪抚平了地上的一切沟壑。
有人回头,看见后羿站在角落,他正望向窗外漆黑的夜空。
那天没有月亮。
2012年“双11”,成交额定格在了191亿;2013年“双11”成交额达到了350亿。

2012年“双11”
(屏幕上为一小时成交数据)
就在2013年“双11”结束之后半个月,甲骨文找到了阿里巴巴。根据你们“双11”公布的成交总额,你们的 Oracle 数据库用量肯定不少,算下来比你们实际购买量多多了!这边补下钱吧!
你无法想象,甲骨文拿出来的账单有多大!
后羿对我回忆。
阿里巴巴这时才告诉他们:对不起,我们的核心数据库已经从 Oracle 替换成了自己开发的 AliSQL。
甲骨文的同事根本不相信,一家中国的企业用三年时间做好的开源数据库,居然能达到甚至超过美国老牌企业有三十年技术积淀的 Oracle 系统。直到阿里拿出了非常强的证据,他们才接受。
这时,阿里巴巴的很多高管和同事才开始后怕:如果三年前没有启动自研数据库计划,今天谁能有勇气面对甲骨文的这张账单?
(七)黄金时代
2011年8月,毕业于北大计算机系的鸣嵩来到阿里。
相比褚霸的怼天怼地,鸣嵩显然是个学院派。如果说褚霸手里挥着屠刀,那么鸣嵩手里捏的就是手术刀,他们俩都会庖丁解牛,姿势却大相径庭。
在北大的时候,鸣嵩曾经深入做过国产处理器研究,这段经历给他的大脑烙上了两个不可磨灭的钢印:
1、我们的理想是:中国人拼死都要有自主技术。
2、我们的现状是:国外的技术论文读起来真香。
加入阿里巴巴之后,鸣嵩开始研究数据库技术。他沿着国外的技术论文的脚步,一边啧啧称赞,一边刻苦研读;至于有一天中国人自己的数据库论文也能被美国人学习,那是万万不敢奢望的。
说回褚霸。
彼时阿里巴巴掀起的“去 IOE”活动已经在全国蔚然成风。很多充满野心的互联网企业和大国企都想去掉 Oracle。于是,褚霸被邀请到腾讯,专门讲述开源数据库的调优技术。
我以为就是几十人一百人的报告厅。没想到到了腾讯,台下1000多人,黑压压地望不到头。人家还告诉我,另外有2000人正在线上看着你。我站在台上,紧张得30秒都说不出一个字。
褚霸回忆。
话匣子一旦打开,紧张感就消失了,那个提刀怒吼的霸爷灵魂附体。演讲像一阵台风,吹得现场观众心花凌乱,掌声如潮。褚霸还没从腾讯回来,阿里巴巴内部就已经有同学建立了一个旺旺群,名叫“拜霸爷神教”。
从此,隔三差五就有人给褚霸送一个小礼物,附上纸条“拜霸爷”;有同事去旅游,还在海滩上用脚写上“拜霸爷”发到群里。。。
就在霸爷走上人生巅峰的时候,阿里巴巴历史上的两条伏线,此时迎来了一次“握手”。
看过中哥《阿里云的这群疯子》的童鞋也许还记得:2013年,阿里巴巴遇到了一个生死劫。
阿里巴巴赖以仰仗的算力调度系统——阿里云“飞天”卡在了研发中最艰难的时刻。真正要命的是,集团内很多业务已经开始向阿里云迁移。如果飞天系统在短时间内难以冲上5000台集群的调度能力,阿里巴巴的诸多业务都将停摆,后果不堪设想。
彼时的王坚正在河流最湍急的漩涡里,他横下一条心,宁可一辈子背负“骗子”的骂名,也要死死托住飞天。
千钧一发之际,章文嵩决定派出自己“核心系统部”的精锐部队驰援阿里云。
多隆、褚霸、鸣嵩等一众底层系统大神云集响应,上午接到任务,下午就去阿里云解 Bug。三个月不眠不休,终于在阿里巴巴集团算力撞到预测极限的前一周,惊险地把飞天推上5k。

为了纪念飞天5K,云栖小镇专门树立了一尊雕像,这是2013年王坚在为雕像揭幕。
这次惊险一跃之后,褚霸任阿里云数据库“RDS”的负责人,鸣嵩成为“RDS”首席架构师。同样在这一年,张瑞接替后羿成为了集团数据库团队的新掌门。
(八)太空时代
虽然很多人“拜霸爷”,但褚霸自己却会“拜王坚”。
以前会觉得,为什么王坚“吹牛”吹成这个样子?直到前两年我才理解了他的方式,这是“降维打击”。
如果你和别人在同一个层面死磕,这没什么了不起的。人家做到了80分,你最多只能做到100分。如果你上了一个维度,直接就比别人多了一个数量级,你做得再差,也比对手们强多了!
这种思维,直接激发了自研数据库 POLARDB的诞生。
如果此时拉开视野,会发现数据库市场本身就发生了巨大的变化。就如当时经典内燃机汽车迎来了史无前例的高峰之后,被迎面而来的电动车打了个手足无措。
经典数据库迎来了诸神的黄昏。创业企业直接用云上数据库,而存量客户也会想重演阿里巴巴去IOE。
仅仅是卖别人做的数据库这很好。但是,当你有机会自己去造出新的数据库当然更好。这是2014年RDS团队全体大会上的决定。
“数据库”和“操作系统”“中间件”一起并称为三大底层系统。阿里云的成功,和中间件的完美设计关系密切。然而,阿里巴巴无数大神拼了老命,用了几年时间才打磨出了阿里云精致的中间件。观摩过阿里云5K的“扒层皮”,褚霸还能这么轻松地喊出自研数据库,可以用胆大包天来形容了。
这个面向未来的数据库要叫个啥名字呢?褚霸一拍脑门决定:“就叫POLARDB!”
时间表很快被制定好了。2017年10月底,POLARDB要开始公测。反推回来,所有研发节点都被定死。
两年多时间,30万行代码,这场由鸣嵩领导的“数据库新长征”,就这样悄无声息地开始了。
鸣嵩回忆,2017年是最艰苦的一年。有两个多月,团队所有成员都是通宵赶代码。用他的话说:“大家每天下班都会遇到早高峰。”

鸣嵩
奇怪的是,那时候无论多累,就是没人偷懒,更没人提出离职、转岗。
当时团队有一位同学,早晨上班之后突然对鸣嵩说:“我老婆今天生孩子了,我请一天假去趟医院!”。牛X的是,他真的只请了一天假。第二天他安排妥当了一切,准时出现在工位上。
“为什么?”我问。
“阿里人不想做螺丝钉。”鸣嵩说。
2017年9月,POLARDB 盛大发布。
过去需要70个小时的10TB的业务数据创建只读副本,在POLARDB上只需2分多钟。更关键的是,它的成本只有商用数据库的十分之一。半年后,上千个用户用上了这个新数据库。

POLARDB 发布
双11的难关对阿里巴巴数据库团队的挑战仅仅是开始。
林子大了,什么鸟都有。99.9%场景下不会出现的bug,在阿里,就会出现。
淘宝交易的订单处理突破了地域限制,可能在北方区、华东区、南方区。但如果其中一地发生了灾难,怎么办?
这种特殊的业务场景要求数据要可扩展,持续可用、要强一致。因此,新一代数据库必须要包含几个重要特点:全球部署、对存储数据冷热隔离等。
这时候,我们不得不自己研究了新一代数据库了。
张瑞说。
说起来轻松,阿里巴巴过去几年数据库技术突飞猛进,从来都是有前人脚步可循的。如今,这些数据库大神们面前,真的是一片“荒原”。
“全球最顶尖的数据库人才,仍然在美国。为了自研下一代数据库,2017年我们几乎把美国数据库的人才挖空了。”张瑞回忆。
在他和另一位数据库大神圭多的推进下,一个自研的超大规模数据库系统 X-DB 就这样诞生了。短短几个月,X-DB就在集团体系内完成了MySQL、AliSQL集群的升级换代。
对阿里巴巴的数据库而言,2017年寓意非凡。正是从这一年开始,以大致胜的 X-DB 和以快致胜的 POLARDB 成为了阿里巴巴数据库的两款拳头产品。
(九)会师时代
三军易得,一将难求。
2017年10月,马云振臂一挥,在云栖大会上成立“达摩院”。誓要争夺未来10年的技术高峰。
19岁的阿里巴巴,已经有权“任性”,成为自己理想中的模样。但很多人没注意到:在细致的肌理中,因为公司使命的刷新,无数阿里巴巴人必须变得和以往不再相同。
从全中国最早最优秀的 DBA,到中国第一批研究开源数据库,再到自研数据库,一代代英雄前赴后继。从这时开始,研究未来的数据库的任务,将要落到达摩院肩上。
仅靠一腔热血不能换来坚船利炮。必须找一个真正有能力的人来带领实验室。如果没有牛人,达摩院数据库实验室的领导人职位宁可空着!
张瑞斩钉截铁。
李飞飞就这样进入了数据库团队的视野。
那天达摩院数据库实验室筹备组开会,团队有人提出,犹他大学计算机系的终身教授,世界数据库领域的顶级大神李飞飞是一个非常合适的人选。一打听,李飞飞此刻正在上海出差。
张瑞和圭多连夜坐火车去上海,仅仅聊天一个小时,张瑞就感受到李飞飞身上那种科学家少有的产业思维。
“这就是我要找的老板。”张瑞说。
后来,李飞飞加盟阿里巴巴,成为达摩院数据库与存储实验室的领头人。

李飞飞(飞刀)
2018年11月,阿里巴巴集团 CEO 张勇发表全员公开信,宣布阿里云升级为阿里云智能。这意味着数据库的侠客们将重新团聚,兵合一处聚如团火。
所有人一致推选李飞飞成为新数据库团队的带头人。李飞飞大旗一挥,张瑞和鸣嵩两支团队合二为一。X-DB 走出“阿里集团”深闺,更名 POLARDB X,成为POLARDB的分布式版本,共同通过阿里云为社会提供服务。
李飞飞站在数据库科学的浪头,提出了未来的三个方向:
1、“自动驾驶”的数据库:
POLARDB 和 POLARDB X数据库已经可以在很多方面实现了自动化管理,但这还远远不够。数据库可以借助人工智能实现更加低成本地实现自动存储、自动检索。
2、“安全”的数据库:
在云上的数据库,天然要解决用户的信任问题。未来的云端的数据库需要有一把锁,用户手握钥匙,可以随时验证数据库的安全。
3、“新硬件支撑”的云原生与分布式数据库:
在非易失存储(NVM)、远程直接数据存储(RDMA)等等新技术的加持下,可能会让新的云原生和分布式数据库架构成为可能,把以前只能用“妥协”方式绕过的问题直接用技术解决掉。
坐在我对面,李飞飞眼睛里闪烁着一个科学家改变产业格局的雄心。
数据库是个“古老的领域”。它的本质就是对数据的生产、存储和消费系统。
为了这个目标,所有人都在不断探索对资源安全可靠快速调度的方法。于是,在漫长的时间里,数据库领域才会不断爆发新的技术点。
这是让我们这些老炮儿在数据库行业几十年都不觉得厌倦的根本原因。
李飞飞说。
从空中俯瞰,2019年阿里巴巴和蚂蚁金服的数据库百花齐放,POLARDB、POLARDB X、OceanBase、AnalyticDB、NoSQL、图数据库、时序时空数据库等等一应俱全,在技术光谱上,我们第一次拥有了不输给人和人的完整的生态。
2018年,在 Gartner 数据库魔力象限,阿里云成为国内首个入选的科技公司,与AWS、Google、Oracle 等国际大牌同台竞技。
在魔力象限的图表上,代表阿里云全部技术的只是一个小点,但就是为了这个点在象限里挪动哪怕一分一毫,无数数据库侠客付出了十年韶华光阴。

同年,阿里巴巴在国际数据库顶级大会 VLDB 上发表论文介绍POLARDB的存储系统 PolarFS。
鸣嵩惊喜地发现,不久前这篇论文已经被旧金山大学制成了课件,用于给美国的学生授课。
而在即将到来的2019年国际数据库顶级大会 ACM SIGMOD 上,阿里巴巴数据团队又将发表介绍云原生分布式 OLTP 存储引擎 X-Engine。
从2009年到今天,十年的卧薪尝胆,我们从不敢说超越谁。但我们确信,中国人从来就不比别人差,我们已经和世界顶尖高手身处同一个阵营了。
鸣嵩说。
(十)那些侠客们
如果我们能够回到 2005,那里也许有座站台,火车头冒着蒸汽,像一个期待远方的孩子。
在接下来的五千多个日夜里,从受制于人的闭源数据库,到开源数据库,到追星逐日的自研数据库,那些数据库人肉身串演了一幕幕戏剧。
有时我想,他们挺幸运,因为他们见识了这个世界的美好和荒唐。但他们好像也是不幸的,因为这些美好和荒唐都发生在他们自己身上。
数据库工程师半夜起床的日子再也没了,自动化运维程序的精致让过去的热血蜷缩在日志里。吹过原野的风目睹了那些草莽英雄撤离战场,顶级院校的计算机大神扛起大旗。人们在曾经野兽横行的荒原上,建起了安静细密的城市。
如果现在不做技术研究,十年后,人们将看不到阿里巴巴。
王坚2009年的话犹言在耳,答案在空中飘荡。
历史曾有一万条岔路,阿里巴巴理应庆幸自己如今仍是互联网大潮中的一朵巨浪。而互联网浪潮,又是中国厚厚自传中的一章。
张瑞、后羿、褚霸、鸣嵩、李飞飞,这些人从人群的暗处走来,历史毫不吝啬地对他们行了注目礼。
他们是普通人,只是用自己千回百转的命运,把故事堆砌成了今天的样子。
从2009年到2019年,也有无数数据库人离开了阿里巴巴。
留着大胡子的老和尚在 2013 年“退休”,离开之前他说:感谢阿里巴巴,让我从此不再为了钱发愁。
那一时期“负气”出走的 Oracle BDA,也有很多人最终还是进入了开源数据库领域。也有离开阿里的人,过了两年带着新的认知重又归队。
有些人选择独立创业,大神拖雷创立袋鼠云、陈栋建立沃趣科技,他们开枝散叶,成为了中国数据库和各种数据智能系统的先驱,演绎着各自的故事。
人们终于明白,死生聚散恰是世界走向未来的方式。此生路远,莫问归期。
告别之前,我问后羿:“过去十年,你真的觉得值吗?”
他笑了,说:
时代的洪流总会到来,而你唯一的武器就是自己的血肉之躯。

你还可以搜索我们的知识星球:浅黑科技
你唯一的武器
就是自己的血肉之躯返回搜狐,查看更多