阿里巴巴|阿里的分布式数据库OceanBase:帮公司省了几百个亿

对中国的电商公司来说,1万亿元GMV意味着什么?
回到十年前,这个答案是:意味着他们要给IOE(IBM、Oracle、EMC)三家美国公司200亿元采购费,而且是每年都要给 。这笔钱甚至会超过他们自身当年所能赚取的利润 。
如果这件事真的发生,中国后来诸多巨无霸一样的互联网公司都会成为美国公司的打工人 。
但是十年过去,现实并非如此,这一切都要从一位叫阳振坤的科学家说起 。
很多年前,他曾追随老师王选院士打造激光照排 。
现在他又创造了世界上第一个真正意义上的分布式数据库OceanBase 。
一、一波三折的内部创业
事实上,OceanBase从在阿里立项之日起,就面临着夭折的危机 。
阳振坤对雷峰网说起这事,只是腼腆地笑着,操着稍带湖北口音的老家话,言语不紧不慢 。
但是,他很清楚这件事的重要性:“如果当时,我们没有做OceanBase,后来的其他公司要做数据库就只剩一条路,就是‘穿马甲’——把开源的东西拿过来,改成自己的‘马甲’,然后去做 。”
在阿里之前的战略会上,“去IOE”这个战略方向曾经得到阿里首席技术官王坚博士的坚持,前文200亿元的说法就是他算出来的 。
阿里前CEO卫哲为雷峰网回忆过当日场景 。
王坚为增加说服力,甚至拉上了已经退休的CTO吴炯,让他从技术的角度谈了亚马逊和谷歌的情况,作为整体铺垫;然后自己再从财务的精算,把1万亿元GMV折算成数据量,再折算成需要的IBM小型机数量、Oracle数据库量、EMC存储数量,最后换算成具体价格相加 。
王坚算完之后,阿里执委会的所有人都服气了,算是从高管层面解决了这个问题 。(当日现场讨论非常精彩,细节请看《沸腾十五年》修订版 。)
但是,光说服上面的人是不够的,下面的执行者都是Oracle、EMC工程师,“去IOE”其实就是砸他们的饭碗,他们怎么会支持呢 。
在阳振坤开启OceanBase项目之时,他听到的负面的、否定的声音,远多于支持的声音 。
作为创新者,逆风而行是必须要承担的代价,如果不能到达彼岸,就会摔在地上,听到铺天盖地的讪笑 。
两年,这是阿里给阳振坤的期限,也是阿里高管们能为他顶住压力的时间 。两年内做出成绩,公司全力支持;做不出成绩,就只能卷铺盖走人 。
背着这样的压力,阳振坤带着OceanBase团队出发了 。
阳振坤想做的体系是原生分布式数据库 。如果成功,OceanBase将有机会帮助企业构建新一代的核心系统 。
在OceanBase之前,以Oracle为主导的巨头们使用的都是“集中式数据库” 。如果将数据库的处理能力和容量类比为“马拉车”,集中式数据库的解决方案是把“马”做大,让单机实力更加强劲,带动数据的存储和处理 。
但集中式数据库也存在问题 。一方面,诞生于数十年前的集中式数据库太老,很难应对指数级增长的容量需求 。当“马”的增长很难跟上“车”的速度,那么系统的崩溃就只是时间问题 。企业仍然可以通过加大金钱投入,来增加数据库的能力,但成本却也将大大提升 。
另一方面,集中式的数据库应对风险的防控能力很差 。如果集中式数据库中的一台机器出现故障,那么整个系统都可能面临崩溃的风险,牵一发而动全身 。
既然独木难支,为何不“众人拾柴”?本就对分布式颇有研究,阳振坤想到,可以动用许多“小马”,一起来拉动这辆“大车” 。
这就是原生分布式数据库OceanBase灵感的来源,而在2010年,世界上都没有人提出过这种思路 。阳振坤振臂一呼,可以说是“前无古人” 。