查看原文
其他

他是阿里顶尖科学家,扛起国产分布式数据库大旗,性能超Oralce 20倍!

The following article is from 技术领导力 Author Mr.K

点击“技术领导力”关注∆  每天早上8:30推送

作者| Mr.K   编辑| Emma

来源| 技术领导力(ID:jishulingdaoli)


2020年5月19日,OceanBase跑分结果出炉,以707351007分的成绩,拿下这个领域的世界第一,是 Oracle 2010年纪录的23倍,单位性能的成本也猛降至3.98元人民币,只有Oracle的三分之一。


整个科技界为之沸腾,阿里OceanBase研发团队欢呼雀跃,这是他们耗费了10年的青春和热血、无数个日夜的汗水和努力换来的结果。这背后有着怎样不为人知的故事呢?也许只有一个人是最清楚的。


他就是OceanBase创始人,阳振坤,阿里花名--正祥。


正祥是位顶尖科学家,跟那些成名已久的阿里技术大神相比,正祥显得格外低调。他是首批长江学者,国家科技进步一等奖得主,王选院士的爱徒,激光照排技术的重要贡献者,中国分布式计算的推动者。


每一项荣誉都足以在让他中国科技发展史上,留下浓墨重彩的一笔,但是他很少对外界提及。


图片来源网络,版权归作者



01

成为王选院士高足

因为“想做点不一样的”,选择离开北大


1984年,正祥考入北京大学数学系,硕士师从张恭庆院士,后来因为兴趣,转向计算机领域,师从王选院士,读完了博士。


他修完大学课程只用了 3 年,硕士只用了一年多,成为王选院士博士生的时候他只有 24 岁。


1995 年,他跟团队的研究成果,获国家科技进步一等奖,1997年他被破格晋升为教授, 那年他32岁。


然而,不安于现状的个性,让他毅然选择离开北大,投身工业界,在他看来那里有着广阔的天空,任由他翱翔展翅。


2002年,离开北大/方正的时候,正祥内心很清楚自己必须要“做点不一样的事情”。


他先是加入联想研究院担任首席研究员,负责无线通信领域的研究。


2006年,进入微软亚洲研究院,开始接触到分布式系统这个领域,在微软期间,他的汇报对象是王坚博士,一个跟他一样有着倔强性格的人。在频繁地“争吵”之中,他们达成了共识--分布式系统是未来。


2007年,正祥加入百度,做云计算。与此同时,他的老领导王坚博士离开了微软,去了阿里,也做云计算。不一样的是,他们的老板对云计算的理解有着天壤之别,李彦宏认为云计算是“新瓶装旧酒”,马云则坚定地认为云计算将深刻改变未来。


后来的故事大家都知道了,百度对云计算“浅尝辄止”,阿里“每年投10个亿,投10年”来支持阿里云,使得阿里云在云计算市场一骑绝尘,这个业务帮助阿里成为了万亿帝国,不得不佩服马云作为商人的眼光和胆识。


2010年,在这种情况之下,正祥黯然离开百度。在北大校友、阿里合伙人刘振飞的“忽悠”之下,加入了阿里。



02

加入阿里,做分布式数据库


刚加入阿里的时候,正祥并不知道自己要做什么,但是他很清楚自己不做什么:他绝不碰云计算。


正祥解释到,“离开前一家公司,之前的项目我就不会再做,因为之前的技术、关系网很多,容易引起纠纷,让别人说闲话。我离开方正后,就不做激光照排,离开百度后,就不做云计算。” 这也许就是顶尖科学家最后的倔强吧。


2009年,逍遥子的神来之笔“双11”大促,粉墨登场,一经推出,取得了巨大的成功。兴奋之余,技术同学很快就高兴不起来了:数据库撑不住啊。


当时应对流量峰值的解决方案是,加缓存、系统拆分、数据库拆分等等。那么问题就来了,Oracle是按机器授权收费的,多部署一台,就多收一次授权费,再加上IBM小型机、EMC存储的费用,那是一笔巨大的开销啊。


彼时的王坚博士算了一笔账,眉头紧锁,心想,擦!光是软硬件一年的费用,我阿里辛辛苦苦干一年,相当于白白给这几个美国公司打工了。


于是他发起了备受争议的“去IOE”行动,并宣布从现在开始,Oracle不许再买了,一个也不许再买。


不让买Oracle,大不了用MySQL,但是数据库拆分带来的架构复杂度是几何倍数的增加,上万个子表的数据统计分析变得异常复杂。


此情此景,被正祥看在眼里,数据库拆分终究不是完美的解决方案,一个疯狂的念头从他的脑海一闪而过:不如自己做一个分布式数据库系统。


要知道,2010年世界上关于分布式数据库的探索,仅限于几篇论文,一些非工业级的demo。


正祥单枪匹马,说干就干。



03

OceanBase的第一个用户!


在所有人都不看好的情况下,当时淘宝的核心技术负责人--吴泳铭,决定支持这个疯狂的念头。吴泳铭是阿里巴巴第一位程序员,人称“吴妈”,早在阿里成立之初就跟随马云东征西战,立下赫赫战功,是见过世面的人。


吴妈伸出两个指头:“正祥老师,我可以给你两年的时间来证明'分布式数据库'是可行的。”


正祥,呵呵一笑:“用不了。”


事后证明,当初确实低估了分布式数据库系统的工程复杂性。


2010年6月,闭门造车一段时间后,正祥心里非常清楚,眼下最重要的事情就是找到第一个客户。


于是45岁的正祥,拎着电脑和几十页ppt在阿里园区各个办公室之间奔走,像极了《当幸福来敲门》的主人公,挨家挨户地推销。然而,幸福并没有来敲门,大家都把分布式数据库当做一个玩笑,没想到正祥是当真的。


功夫不负苦心人,淘宝收藏夹团队愿意尝试。


用过淘宝的都知道,早期的用户习惯是把感兴趣的商品放到收藏夹里,口袋有“米”了再下单购买,所以收藏夹里的商品数量也是海量级别的。当时已经用了100台服务器在支撑这块业务,预计第二年要用400台,还不一定能撑得住这个量。


所以,收藏夹团队也是有苦说不出啊。


正祥的ppt里说,分布式数据库理论上能够提升性能100倍,也就是说不增加机器的情况下,能够轻松应对100倍的数量级,这一点打动了收藏夹团队。


于是收藏夹团队给了正祥一个月时间,去实现他吹过的牛逼。


在正祥看来,收藏夹团队的痛点是“写入放大”的问题,他带着几个程序员程序员一个月搞定是差不多的,对于分布式数据库来说,“写入放大”只是其中一个小特性而已,他要打造的是“分布式数据库”技术底座这个星辰大海。


打造一个“分布式数据库”技术底座,谈何容易?


有了收藏夹这第一个客户,正祥团队就心安了,躲进小楼成一统,管他冬夏与春秋,开始了封闭开发。时间就像支付宝的余额一样,你没来得及搞清楚它是怎么花的,它就没了,一晃8个月过去了。


收藏夹团队这下慌了,眼看“双11”马上就要来了,传说中的“分布式数据库”连根毛都没看见,恨不得把正祥团队给生吞活剥了。


正祥团队这才意识到,是时候交货了,于是把“写入放大”的特性匆匆打包好,准备发布,才发现自己的产品连个名字都没有。其中一个小朋友提出,既然我们的方向是星辰大海,不如就叫OceanBase吧,正祥哪有心思取名啊,说行吧,快上线吧。


就这样OceanBase发布了第一个版本,帮助收藏夹解了燃眉之急,安全度过“双11”,算是首战告捷了。


图片来源网络,版权归作者



04

没有用户,OceanBase陷入困境


2012年初,正祥一边打造OceanBase,一边想找一个更大的场景来应用,正祥心里很清楚,软件如果没有应用场景,就不可能变成熟,只要有团队肯用,他就有信心能把OceanBase做好。于是又使出了推销员的本领,挨个办公室去推销。


半年下来一无所获,原来OceanBase已经“名声在外”了,其它团队都在背后指指点点:OceanBase这个团队承诺一个月交货,结果拖了8个月才发布,双11前还在改BUG,差点害死收藏夹。。。哪里还有人肯用OceanBase。


眼看跟吴妈的二年之约就要到期了,OceanBase并没有证明自己的价值,正祥和团队陷入困境,仿佛一头幼年的猛兽,困在深井之中,眼前一片黑暗,看不到任何希望。


2012年秋天,正祥从北京飞到杭州,坐在了他微软的老同事、阿里CTO王坚办公室里。王坚已经是他的最后希望了,这位老同事真的能帮他吗?正祥心里也没底。


因为彼时的王坚日子也并不好过,他主导的阿里云,同样是从零开始研发,当时正经历大家最激烈的嘲讽和质疑。大批优秀的程序员因为看不到光明,纷纷离职,阿里云摇摇欲坠。


两人相对无语,做成一件事有多难,他们心里谁不清楚呢?最后,王坚对正祥说:“你放心,先回去吧,我心里有数了。”



05

OceanBase团队并入支付宝

是温床,还是大坑?


在焦急的等待中,又过了两周,正祥等来了一纸调令:OceanBase 所有人员从淘宝调入支付宝。


把 OceanBase 团队调入支付宝,王坚是有战略考虑的。

第一,淘宝已经做好“拆库”,而且用 MySQL 代替了 Oracle,技术架构上不适合再做大的变动。


第二,支付宝仍然以Oracle为主。由于金融场景对数据安全要求高,不适合用MySQL代替,因为以当时的技术发展水平是存在一定风险的。


第三,要啃就啃硬骨头,如果OceanBase有能力获得支付宝的信任,就有可能在整个集团全面推广,“去IOE”的战役将取得全面性的胜利,王坚的思考既长远、又宏观。


作为老同事,王坚也只能帮到这一步了。剩下的,就看正祥自己有多少真本事了。


2013年夏天,时任支付宝 CTO 鲁肃召集各位技术大佬开会商量数据库的问题,形势已经非常危急,所有人都表情凝重。


讨论到最后,大家得出一个结论,学淘宝,按业务拆分Oracle数据库,先支撑业务发展。


就在这时,一个坐在角落的人悠悠地站起来说:“如果各位信任我,用‘分布式数据库’代替Oracle,我向大家保证,我们能把数据库做到无限大!”


大家朝着声音传来的方向望去。


此人,不是别人,正是已经加入阿里三年的正祥,他所说的“分布式数据库”,就是他带着同学们从零开始研发,彼时刚满三周岁的OceanBase。


鲁肃一开始也抱着怀疑的态度,心想,分布式数据库很难的,你们这几杆枪就能搞得定?


在详细了解了OceanBase的原理和进展之后,鲁肃决定支持正祥团队。鲁肃自己也是万中无一的顶尖高手,哪个技术靠不靠谱,用鼻子闻一闻就知道,这无疑给了正祥团队巨大的信心。



06

“双11”正式启用OceanBase


正祥团队按照金融场景的要求,对OceanBase进行全面升级,很快又过了一年,内部测试已经达到了上生产的标准,鲁肃决定在当年的“双11”正式启用OceanBase。


原本计划切1%的流水库数据给OceanBase,“全链路压力测试”的时候,承担99%流量的 Oracle 屡次崩溃,无论如何通不过测试,而一旦把它承担的流量降为90%,就恢复正常。。。事实已经很明显:Oracle 的实际性能极限已经被触碰到了。支付宝技术团队已经无路可退。


于是就在双11来临前两周,鲁肃临时修改计划,让 OceanBase 承担10%的流量,正祥团队临危受命,又惊又喜。


11月10日晚,蚂蚁金服 CEO 彭蕾专门来到 OceanBase 的作战室,问正祥:“阳老师有信心吗?”正祥指指窗户,一轮明月正挂在半空中。“不成功,我们就跳下去。”他平静地说。


那一年的“双11”,OceanBase不负众望,圆满完成了任务。这是OceanBase团队成立三年以来,第一次真正意义上的亮相。


2014年底,阿里巴巴集团召开了“双11”复盘会。正祥作为演讲者,从头到尾分享了 OceanBase 的技术构想和艰辛历程。


这一场分享,深深地铭记在正祥脑海中。


从那一刻起OceanBase 这个蹒跚学步“婴儿”,一步一步慢慢走出了一条属于自己的路,正祥团队也因为梦想和坚持,赢得了越来越多人的认可和尊重。


2015年,OceanBase获得蚂蚁金服最重磅的奖项——SUPER MA。时任蚂蚁金服 CEO 彭蕾在给 OceanBase 团队颁奖。


图片来源网络,版权归作者


2016年,一个真正的分布式数据库 OceanBase 1.0 横空出世。


2017年底,蚂蚁金服核心系统中的最后一个 Oracle 数据库被 OceanBase 替代。阿里正式告别Oracle技术体系。


2020年5月19日,OceanBase在TPC-C跑分拿下世界第一。


在分布式数据库领域,从0做到世界第一,正祥和团队整整花了10年。



后记


2020年,正祥55岁,每天晚上10点回到家,仍然坚持在小区里走上半小时,大概3公里,这一习惯他坚持了22年。


正祥和OceanBase团队的故事仍在继续。OceanBase何时全面赶超老大哥Oracle?OceanBase作为国产可信数据库,离雄霸数据库市场还有多久?


一切尚未见分晓,时间会给我们答案。


参考:
《OceanBase:蚂蚁爬上舞台》,浅黑科技,史中
《做数据库需要耐得住寂寞的独行者,阳振坤和OceanBase的十年》InfoQ技术实验室,蔡芳芳

作者简介Mr.K,知名电商公司技术老K级人物。文出过畅销书,武做过CTO,若非生活所迫,谁愿一身才华。



 -END- 


: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存