返回首页
您的位置:首页 > 会员 > 单位会员 > 会员故事

OceanBase创始人阳振坤:九年磨一剑

阅读量:20 2019-12-02 收藏本文

2019年天猫双11当天成交额达到2684亿,天量成交额背后考验着技术实力。作为成交额的支撑,支付如何确保顺畅、平稳、不出错,这背后,支付宝自主研发的分布式数据库OceanBase团队发挥了很大的作用。2019年双11当天,OceanBase每秒处理峰值达到6100万次。OceanBase从九年前一个数度濒临解散的团队,成长至如今不仅能支持双十一巨大的支付流量,更是让中国数据库系统首次坐上TPC-C benchmark性能榜的头把交椅,都是源于CCF的一位杰出会员……


本期CCF会员人物:阳振坤

CCF有这么一位杰出会员。

1984年他考入北京大学数学系,他修完大学课程只用了3年,硕士只用了一年多,成为王选院士博士生的时候他只有24岁,32岁那年他被破格晋升为北京大学教授。

离开高校后,他曾在微软亚洲研究院、百度工作,2010年,他加入淘宝,自己牵头组建了一个技术平台——OceanBase数据库,当时的OceanBase团队数度濒临解散。

2019年10月2日,国际权威机构国际事务处理性能委员会TPC发表了最新的TPC-C基准测试结果,Ocean Base以两倍于Oracle(甲骨文)的成绩拿下数据库世界冠军。

他还是CCF老牌志愿者,曾担任第三届CCF YOCSEF(2000-2001)副主席,第四届CCF YOCSEF(2001-2002)主席。

他,就是OceanBase创始人阳振坤。



1

九年磨一剑

2010年6月25日,阳振坤发起的分布式关系数据库OceanBase在淘宝立项,团队只有几个人,代码都还没有开始编写,当时的首要任务是在几个月内把代码写出来并在第一个潜在客户淘宝收藏夹落地,否则项目面临着关门的危险。所有人想的都是怎样才能活下去。TPC-C benchmark?根本不在思考的范畴。

同样是2010年,8月17日,OceanBase立项后不到2个月,IBM向数据库性能的国际权威机构国际事务处理性能委员会TPC提交了基于IBM Power 780 Server的DB2数据库的TPC-C benchmark报告,TPC-C性能首次超过千万tpmC,达到了10,366,254tpmC,坐上了TPC-C性能榜的头把交椅。

还是在2010年,12月2日,OceanBase立项后不到半年,Oracle向TPC组织提交了基于Sparc SuperCluster的Oracle 11g的TPC-C benchmark报告,性能为30,249,688tpmC,在冠军宝座上坐了不到4个月的DB2成为了名副其实的DB---2。自此以后,Oracle的30,249,688tpmC一骑绝尘而傲视群雄,在TPC-C性能榜首稳坐钓鱼台。

九年后,2019年10月1日,蚂蚁金服向TPC-C组织提交了基于阿里云公有云虚拟机机群的TPC-C benchmark报告,性能值为60,880,800tpmC,所用的数据库就是在Oracle登顶TPC-C性能榜时,2010年立项、当时还在为了第一个项目落地而苦苦挣扎的OceanBase。这不仅是中国数据库系统首次坐上TPC-C benchmark性能榜的头把交椅,也是中国数据库系统首次通过TPC-C 测试进入TPC-C benchmark性能榜。



2

逆势而动


今天,关系数据库等基础软件受到了国人空前的重视。时光重回2010年,国际国内对关系数据库却是一边倒地看衰:

·云计算使关系数据库逐渐落伍

·关系数据库行将就木

·关系数据库日薄西山

·关系数据库的末日来临

·……

那么是什么促使阳振坤在2010年逆势而动、发起OceanBase分布式关系数据库项目呢?阳振坤坦言,别人看到关系数据库的问题的时候,他看到的是机会:

·对于金融、零售、交通、通信、互联网等的各种交易系统(OLTP),关系数据库及其事务(transaction)依然是最好并且无法替代的选择。

·基于关系数据库的商业智能系统(OLAP)仍然是各类业务进行决策分析的关键手段,集OLTP负载与OLAP负载于一体(即HTAP混合负载)的关系数据库,不仅能够显著地降低企业的成本,更能够克服数据仓库所固有的数据冗余大、数据时效差和数据失真等问题。

·当时关系数据库遇到的挑战,根本原因是互联网时代的数据库并发访问量和数据量的井喷式增长与传统关系数据库的集中式系统扩展能力匮乏的矛盾。

·从这个思考出发,阳振坤在淘宝发起了OceanBase分布式关系数据库,以分布式来打破传统关系数据库的集中式系统的桎梏。


3

艰难征程


然而,这注定是一条极其艰难的征程。

一方面,事务(transaction)是在线交易处理(OLTP)的根本,事务的原子性、一致性、隔离性和持久性(ACID)即便对于集中式系统都是严峻的挑战,更遑论分布式系统。无论是主流关系数据库厂商还是其他关系数据库厂商,均没有推出分布式关系数据库产品,其中的困难和挑战由此可见一斑。

另一方面,关系数据库功能十分丰富,这导致了很高的软件复杂度,而在线交易处理(OLTP)系统既要保证数据一条不能错,又要保证服务片刻不能停,还要事务处理高性能,这造就了关系数据库软件的正确性、稳定性和性能的极高门槛,跨过这道门槛不仅需要大量的时间,更需要大量的应用场景,后来者即便跨过了这道门槛,也在用户信任度、上下游系统集成以及性价比等处于很大的劣势,因此关系数据库诞生四十多年来至今,主要市场仍然掌握在一开始就出现并成长起来的少数几家厂商手中。


4

天时、地利、人和



面对诸多困境,幸运的是,阳振坤发现,对于研制和突破关系数据库,当时的淘宝可谓“天时+地利+人和”尽皆具备:

首先是天时。第一是互联网带来的井喷式增长的并发访问量和数据量使得传统的集中式关系数据库不堪重负而摇摇欲坠,潜在市场需求十分巨大;第二是当时多数人还没有看到分布式数据库的机会,OceanBase先发优势和蓝海效应都十分显著,并有较长时间对OceanBase进行磨炼而使之逐渐稳定、成熟。

其次是地利。当时的淘宝和支付宝就有成千上万的关系数据库,这不仅为OceanBase项目和团队提供了足够的经济价值,也为OceanBase的成长提供了良好的土壤。淘宝和支付宝的大量应用场景在当时几乎是国内仅有的,尤为难得。

最后是人和。分布式数据库研发需要数据库和分布式两方面的人才。在数据库人才方面,从1978年中国人民大学的萨师煊教授在黑板上写下了“数据库”三个字伊始,几十年的时间里,萨师煊教授、王珊教授、周立柱教授、周傲英教授、杜小勇教授等为代表的数据库大师们培育了一代又一代的中国数据库学子,国家多年的863和核高基的数据库专题项目则培养了众多的中国数据库研发人才;在分布式人才方面,阳振坤和一批志同道合者恰好又是分布式背景。


5

坎坷的成长之路


尽管“天时、地利、人和”皆备,OceanBase的成长之路也是遍布荆棘、充满坎坷。

2010年立项后,通过在关系数据库中首次采用LSM-tree并使用类似于物化视图的手段。2011年在淘宝收藏夹上线并使得其数据库服务器的数量得以降低一个数量级,之后3年OceanBase再也没有发现类似的效益显著的项目,这使得越来越多的人对OceanBase产生了更多的质疑。

直到2014年,通过在关系数据库中首次引入Paxos分布式一致性协议并采用数据三副本,OceanBase 0.5版本首次在关系数据库系统上做到了单机/单机房故障不丢数据(RPO=0)、不停服务(RTO<30s),超过了国家标准《GB/T 20988-2007:信息系统灾难恢复规范》中灾难恢复能力等级定义的最高的第6级标准,并支撑了当年双11支付宝交易库10%的流量,才使得OceanBase得到了较好的认可。

2016年,OceanBase 1.0版本消除了之前的单个UpdateServer的写入瓶颈,实现了每个节点都可以写入的真正的分布式关系数据库,在当年双11除了承担100%交易和100%支付的流量外还支撑了30%的花呗账务流量。2017年,OceanBase不仅替换了包括全部账务在内的支付宝的所有核心系统中的商业数据库(Oracle),同年还随着蚂蚁金服/阿里巴巴的科技开放走出公司,开始为外部企业提供服务。

2018年发布的OceanBase 2.0则开始提供Oracle兼容,并启动了TPC-C benchmark测试。

2019年,OceanBase通过了TPC-C benchmark测试并登顶该性能榜。


6

璀璨明天



今天,作为信息产业的关键基础设施,关系数据库系统及其产业得到了空前的重视,云计算的兴起和迅速发展又显著地拓展了关系数据库的使用边界、降低了使用门槛。阳振坤希望越来多的有识之士加入关系数据库的研发、推广和使用,共同迎接关系数据库系统和产业的蓬勃发展机遇和璀璨明天。