阳振坤一手打造的OceanBase数据库,今年搞了个大新闻。在被誉为“数据库领域世界杯”的国际权威TPC-C测试中,蚂蚁集团的OceanBase跑出了7.07亿tpmC的成绩,意思
作者:观察者网
原文链接:https://mil.news.sina.com.cn/zhengming/2020-09-03/doc-iivhuipp2251784.shtml
阳振坤一手打造的OceanBase数据库,今年搞了个大新闻。在被誉为“数据库领域世界杯”的国际权威TPC-C测试中,蚂蚁集团的OceanBase跑出了7.07亿tpmC的成绩,意思是每分钟可以创建7.07亿次订单。
这个成绩,是去年OceanBase自己创下的世界纪录的11倍,是第三名甲骨文(Oracle)的23倍。
刚满一周岁的科创板,可能就要见证新“股王”的诞生了。
根据上交所公告,即将上市的蚂蚁集团拟在科创板募资480亿元,大概相当于中芯国际的2.5倍。
市场普遍认为,这还是一个相当保守的数字。彭博社消息称,蚂蚁集团寻求的IPO估值至少为2000亿美元,约合1.37万亿人民币。
而中国股民向来不惮于给民族企业更高的溢价。按照中芯国际上市首日200%的涨幅来算,蚂蚁集团市值将达到4.11万亿人民币。即使溢价幅度稍低,也有机会超过目前A股市值最大的茅台(2.2万亿)。
不过,选择在科创板上市的蚂蚁集团,究竟是一家科技公司,还是金融公司?
招股书显示,蚂蚁集团的营收主要有两个来源,分别是数字支付与商家服务、数字金融科技平台。
图片来源:蚂蚁集团招股书
数字支付与商家服务,简答说就是支付宝业务,向用户和商家收取手续费,这项业务的占比今年已经降到了35.86%。
数字金融科技平台收入占比63.39%,占据最大头。这项业务说白了,就是通过促成小微贷款、理财产品以及保险产品的销售,按照销售规模百分比向相关金融机构收取“技术服务费”。
图片来源:蚂蚁集团招股书
看上去,尽管顶着“技术”的名义,蚂蚁集团目前更像是互联网上的金融中介,远没有中芯国际那么硬核。
那么,蚂蚁集团真的只是一家金融公司吗?
阳振坤一定不会同意这句话。
在蚂蚁集团的主营业务中,还有一项不起眼的业务,叫做“创新业务及其它”,营收占比仅有0.75%。招股书解释,这项业务主要包括区块链和数据库。
其中,阳振坤一手打造的OceanBase数据库,今年就搞了个大新闻。
今年5月,在被誉为“数据库领域世界杯”的国际权威TPC-C测试中,OceanBase跑出了7.07亿tpmC的成绩,意思是每分钟可以创建7.07亿次订单。
这个成绩,是去年OceanBase自己创下的世界纪录的11倍,是第三名甲骨文(Oracle)的23倍。
近日,中国政府更新禁止出口技术目录,疑似纳入TikTok算法,计算机软件系统被提升到前所未有的战略高度。数据库,正是软件领域最核心的基础设施之一。
而且,与芯片制造领域尚有多国竞争不同,数据库领域,长期以来就是美国一家独大,甲骨文一家独大。
中国数据库居然能吊打甲骨文了?
很多人注意到,在TPC-C测试中名列第三的甲骨文,是在十年前,也就是2010年做出的数据,因此质疑排名的权威性。
的确,自2010年以后,甲骨文再也没参加过这项测试,因为甲骨文已经独孤求败,再也不需要用打榜证明自己的实力。
1970年,IBM科学家科德博士发表了一篇题为《大型共享数据库的关系数据模型》论文,奠定了现代数据库的理论基础。然而限于当时的计算机水平,IBM认为这种数据库没有商业价值,居然直接将论文锁进了故纸堆。
但几年之后,美国中情局看上了数据库的重大战略意义,既然IBM不接单,只好求助于民间高手,最后盯上了拉里·埃里森,和他的初创公司甲骨文。
这位落魄程序员从此开启了自己的传奇人生。
随后的几十年中,看到“钱景”的IBM和微软纷纷加入数据库市场竞争,甲骨文并不缺少挑战者。直到2010年。
那一年,甲骨文在TPC-C测试中跑出3024万的成绩,是同年IBM的3倍,IBM再无还手之力。尤其是在产业起步较晚的中国,人们提起数据库,几乎只能想到甲骨文。
巧合的是,甲骨文王朝的衰落,也在那一年埋下种子。
硅谷天才埃里森,不久之后就要见识到中国工程师的“恐怖”了。
2018年,埃里森接受福克斯商业新闻采访,渲染“中国威胁论”
2010年,45岁的百度高级科学家阳振坤,应阿里云之父王坚的要求,从北京辞职南下杭州。他的新工作,是为阿里研发一款自己的数据库。
彼时,淘宝网的电商业务正在席卷中国大地,如火山般爆发的用户数据让阿里成为甲骨文最大的亚洲客户,也挑战着甲骨文的极限。
淘宝首先遇到的问题是,数据库的成本实在是太高了。
在数据库领域有一个“IOE”的说法,意思是一个完整的数据库系统,软件加硬件,需要IBM服务器、Oracle数据库、EMC存储设备“三驾马车”。为了保证数据不出错,Oracle数据库必须运行在高端服务器和存储硬盘上。
然而随着淘宝流量的爆发,阿里算了笔账,未来采购这“三驾马车”的费用,甚至会超过公司的全部利润。寻求低成本的数据库解决方案势在必行。
更紧迫的问题是,甲骨文数据库已经要崩溃了。2010年,是“双11”启动第二年,当天23时59分30秒,眼看“双11”就要结束,支付宝核心账务系统突然报警,数据库资源即将耗尽。当技术人员砍掉最后一个非关键应用的时候,距离整个系统崩溃只剩下4秒。
为此,阿里首席架构师王坚提出了一个去IOE计划:以廉价PC服务器替代IBM小型机,以基于开源的自研数据库替代Oracle数据库,不再用高端存储设备。
于是就有了那个著名的军令状:“淘宝2010年起不再购买小型机”。
最初,王坚提出的“基于开源的自研数据库”,是指以当时流行的国外开源数据库MySQL为基础自行改造,这是中国软件行业最常见的自主化路径。
这条道路后来衍生出2016年开源的AliSQL,比原版MySQL有70%的性能提升。
但阳振坤选择了一条更艰难的路——自己开发一种全新的分布式数据库。
事实证明,这个选择是极其明智的,因为不久以后,Oracle就收购了MySQL,不再完全开源。
阳振坤
所谓分布式数据库,是指区别于Oracle传统的集中式数据库,不再将数据储存在一台服务器上,而是直接运行在云上。
这是一个颠覆性的变化。
一个合格的数据库,必须满足ACID特性。简单地理解,当A给B转账100元钱时,数据库必须做到:
原子性(Atomicity):A的账户减少100元,B的账户增加100元,这两件必须同时发生,像原子一样不可分割;
一致性(Consistency):转账之后,A和B的账户总和必须跟转账前一致;
隔离性(Isolation):A和B之间的转账不影响其它任何账户;
持久性(Durability):转账记录必须长久存在,即使发生断电等故障也不能消失。
甲骨文等传统数据库,被称为集中式数据库,运行在一个单一的服务器上,因此可以最大程度上保证ACID特性。即使服务器出现故障,也可以保证一个任务要么都发生,要么都不发生,不会出现A的账户少了100块钱,B的账户却没收到的情况。
但是对于分布式数据库来说,如果A、B两个账户处在不同的机器上,其中一台机器出现故障,另一台却在继续执行任务,原子性和一致性就没法保证了。
在2010年,这是一条从未有人成功过的道路,阿里方面深知其难度之大。
有报道说,当时阿里集团的技术负责人吴泳铭告诉阳振坤:“阳老师,我可以给你两年的时间来证明‘分布式数据库’是可行的。”
手下只有十几个人的阳振坤,实际上只用了一年就做出OceanBase 0.1,用在了淘宝收藏夹上,成功经受住2011年“双十一”的考验。
整个2012年,阳振坤的时间主要都花在向其它部门推销自己的产品上——是的,即使有了收藏夹的成功,依然没人敢用。
图片来源:史中
转折点发生在那年秋天,力挺阳振坤的王坚,把OceanBase团队从淘宝调入支付宝,打算直接用在离钱更近、对ACID要求更高的支付宝上。
OceanBase解决ACID问题的方法,主要是靠增加备份,将三套OceanBase绑定在一起运行,一个主库,两个备库。只有当至少一个备库也完成任务时,主库才会完成这个任务,这样,任何一个任务至少被保存在两台服务器上,极大降低了事故概率。
这个理论虽然看上去简单,但能否在数以亿计的交易中保证不出错,大家心里仍然没底。
时势造英雄,阳振坤的机遇在2014年不期而至。
2014年的“双十一”,支付宝决定将1%的流水交给OceanBase承担,剩下的99%,还是使用Oracle。
但是在临近“双十一”的压力测试中,Oracle数据库居然屡次崩溃,只有将数据量降低到90%才能稳定运行——支付宝的体量已经突破了Oracle的极限。
顺理成章地,OceanBase的承担比例,被上调到10%。
一篇专访这样描述了当时的情景:
11月10日晚,蚂蚁金服CEO彭蕾专门来到OceanBase的作战室,问阳振坤:“阳老师有信心吗?”
阳振坤指指窗户,窗外深秋的树叶正在风中婆娑。“不成功我们就跳下去。”他平静地说。
OceanBase当然成功了。2015年,阳振坤团队获得了蚂蚁金服最重磅的奖项——SUPER MA。
阳振坤团队获得蚂蚁金服CEO大奖
在阿里以外,美国数据库积威犹在,特别是在对数据库要求最高的金融、电信等领域。
早在上世纪90年代,国内就逐渐形成了Oracle垄断电信行业,IBM垄断金融行业的格局。2013年的斯诺登事件,让中国政府意识到使用美国数据库的巨大安全风险,全力推进去IOE化,但实际进展缓慢。
到目前为止,尽管很多大型银行已经基于MySQL等开源系统,对非核心业务进行替换,但核心业务仍然在使用IBM DB2系统。
截至2019年,国外厂商仍占据我国数据库市场80%以上份额。传统的关系型数据库市场中,Oracle、IBM、Microsoft、SAP四家厂商共占据市场份额六成,其中Oracle占比超过三分之一。
2019年国内传统关系型数据库市场占比 图片来源:民生证券
这一方面是因为,美国人的优势实在太大。
从1978年萨师煊在人大开设“数据库系统概论课”算起,国产数据库已经走过了四十多个年头,形成了以人大金仓、武汉达梦、南大通用、神舟通用等四家供应商为代表,依托科研院校的国产数据库产业。
根据公开数据,入选“核高基”课题的人大金仓,仅2011年就获批至少1.2亿人民币的政府资金支持。
但这些国产数据库,大多只能应用在要求较低的政府采购项目上,至今不敢说在技术上逼近Oracle。
另一方面,数据库是一个需要下游配套的复杂系统,多年以来,各种办公系统都是各自依托Oracle、IBM开发,互相之间无法兼容。
所以,即使是技术上全面领先的Oracle,也往往很难让银行放弃原有的IBM系统。甲骨文CEO马克-赫德就曾抱怨,“如果迁移数据库这么容易,DB2的市场份额可能就变成零了。”
在这种情况下,阳振坤的分布式数据库,想要取得各大金融机构的信任就更难了。
多年以来,外界对于OceanBase的质疑一直不绝于耳,最常见的看法是,分布式计算无法做到同集中式一样的ACID,因此根本没法在金融业应用。
OceanBase参加TPC-C测试,某种程度上也是为了回应这个质疑。TPC-C测试一个最基本的要求,就是满足ACID原则。
其实,Oracle当初创造世界纪录,也应用了某种程度的分布式技术,将数据库服务器扩展到几十个节点,才能吊打IBM。
因此,OceanBase等国产数据库面临的最大挑战,恐怕还是如何搭建自己的生态系统。
上世纪90年代起,Oracle就大举收购ERP等下游行业公司,建立了完整生态系统,才彻底巩固自己的垄断地位。
好在,个人的努力固然重要,在历史的进程中选对立场,才是决定性因素。
如今,历史站在了云计算一边,在美国,亚马逊、谷歌等数据库的新玩家,也在凭借分布式疯狂侵吞着甲骨文的地盘。传统银行因为线下业务规模有限,尚能继续守旧,但任何有互联网野心的企业,都在纷纷转投分布式。
OceanBase从2017年起对外提供服务,至今已经拿下了不少金融业客户,比如招商银行的互联网业务已经采用OceanBase服务器。OceanBase的服务对象还包括自家的网商银行,以及南京银行、常熟农商行等数十家商业银行和保险机构。
2019年,腾讯的分布式服务器TDSQL,也首次应用于张家港农商行的传统核心业务。
阿里、腾讯这些赚快钱的互联网企业,如今已全面进军基础技术领域,承担起商业之外的国家战略责任。
更重要的是,区别于享受政策红利、远离市场的传统国企,它们在最激烈的市场竞争中厮杀,用丰厚的商业利润来为科研输血,正在为中国蹚出一条更高效的技术进击之路。