中国数据库OceanBase登顶之路

203 阅读7分钟

今年天猫双11当天,OceanBase数据库再次刷新数据库处理峰值,达6100万次/秒,创造了新的世界纪录。

在此之前一个月,据权威机构国际事务处理性能委员会TPC披露:蚂蚁金服的分布式关系数据库OceanBase,打破美国甲骨文公司保持了9年的世界纪录,成为首个登陆该榜单的中国数据库系统。

作为全球首个应用在金融核心系统的分布式关系数据库,蚂蚁金服OceanBase的出现,是金融科技发展过程中极为重要的一步。

事实上,蚂蚁金服OceanBase“登顶”之路绝非易事,却又是理想主义使然!正如马云所讲,“我不懂技术,但是我尊重技术。”


九年积淀缩影,一切从零开始

2008年,阿里巴巴集团首席架构师王坚提出“去IOE”,即摆脱业务系统对IBM小型机、Oracle数据库以及EMC存储的过度依赖。2009年开始,阿里举全公司之力投入到云计算的研发和使用中,随后在阳振坤带领下启动了OceanBase分布式关系数据库项目。

从2011年双11到2019年双11,自主研发的OceanBase数据库,以远低于传统商业数据库的成本,更高的可用性,一次次地刷新世界纪录,打破了核心数据库长期被传统商业数据库垄断的格局。

2017年,OceanBase数据库迈出了商业化关键的第一步,为南京银行“鑫云+”互金开放平台提供金融级分布式关系数据库服务。此后,OceanBase不仅在西安银行、广东农信、人保健康险、招商证券、苏州银行、常熟农商行等金融机构的生产系统中投入运行,并且还出口到了印度和美国等地,为当地的支付业务提供数据库服务。


数据库的前世今生,蚂蚁金服自主研发之路

以前,在以IOE为代表的传统IT环境中,Oracle数据库的地位根深蒂固。2008年王坚博士成为阿里集团首席架构师,他意识到IOE架构对于阿里长期运营成本的影响以及对未来业务发展的制约,不仅提出了“去IOE”的想法,还有力地推动了自研数据库OceanBase的发展。

从2009年开始的双11,每年产生和处理的数据量都在爆发式增长,如果一直采用Oracle数据库的话,运营成本将是天价。另一方面,为传统IT环境而设计的Oracle数据库,并没有考虑到互联网的大规模、高并发、大容量等新兴需求。为此,阿里巴巴/蚂蚁金服开始走上了自主研发的道路,从头开始重新设计一个完完全全自主研发的数据库产品——OceanBase。

本质上来看,OceanBase与Oracle一样都是关系型数据库,但Oracle是针对传统业务场景而形成的集中式数据库,而OceanBase则是面向高并发、大数据环境而诞生的分布式关系数据库。由于是完全分布式架构,OceanBase工作时,把原来集中存储和处理的数据分散到不同的机器上进行,系统的存储和计算能力都可以通过增加或减少机器而实现水平伸缩,克服了传统数据库集中式系统无法水平伸缩的窘境。

从第一行代码起步到今天超过百万行代码,支撑双11的超高峰值以及蚂蚁金服的全面业务,OceanBase可以说是一个划时代的数据库产品。正如蚂蚁金服资深技术专家陈萌萌所言,“真正用分布式架构解决像蚂蚁金服这么大规模事务性需求的分布式数据库,目前只有OceanBase。”


复杂业务场景锤炼出来的分布式数据库!差点“夭折”的OceanBase

由于数据库的稳定性、正确性、高可用、高性能等苛刻要求,自主研发数据库需要的是行业背景和企业实践,这也是为什么中国大多数企业、高校和科研机构无法在数据库研发上取得突破性进展的原因之一。

幸运的是,OceanBase赶上了千载难逢的“天时”和“地利”的机遇。“天时”是当时互联网的高并发带来的数据库的并发访问和数据量的百倍、千倍的增加,而传统数据库固有的集中式系统无法具备这种扩展能力。“地利”则是阿里巴巴/蚂蚁金服自有庞大的业务和数据库需求,这不仅使得OceanBase有足够的经济价值,更为OceanBase的成长提供了良好的土壤和养分。

事实上,OceanBase研发路上也几经“夭折”。因MySQL就能满足淘宝大部分业务需求导致OceanBase团队面临解散,因业务系统改造量巨大导致OceanBase几个月都无法上线……所面临种种的困境,都因得到了王坚、彭蕾、程立、刘振飞等阿里巴巴/蚂蚁金服众多高管鼎力支持才化险为夷。


摘下皇冠上的明珠

从2010立项开始算起,OceanBase用了7年多的时间才在蚂蚁金服取代Oracle成为了支付宝的账务等数据库,这对整个金融行业具有里程碑意义。

2014年双11,OceanBase仅处理10%的交易数据链;2015年双11,OceanBase处理100%交易数据链和50%支付数据链;2016年双11,全部交易数据链和支付数据链以及30%花呗账务运行在OceanBase上;2017年双11,包括整个账务库在内的全部核心系统都100%运行在OceanBase上;2019年双11,OceanBase再次刷新了数据库处理峰值的世界纪录,达到6100万次/秒。

区别于传统集中式数据库,OceanBase的根本特征是分布式架构,基于普通的PC服务器构建的满足金融级高可靠性以及数据一致性的数据库系统。事实上,OceanBase也被称为原生的分布式关系型数据库,其把所有与高可靠性及数据一致性相关的问题在数据库内核层面就解决掉,使得OceanBase真正具备高度集成、整体交付、对业务少侵入甚至无侵入的商业数据库特征,同时也真正克服了单纯依赖分库分表的分层设计中所缺失的全局一致及跨库查询等缺陷。

通过原生的分布式数据库设计以及PAXOS协议等,OceanBase实现了高可用、强一致、易用性、高性能、可扩展以及低成本。原先一台高端服务器动辄几十万、几百万,而OceanBase仅用几千元至几万元的PC服务器即可。蚂蚁金服高级研究员阳振坤表示,“OceanBase的性价比已经达到了现有商业数据库的5倍~6倍以上,未来还将更高。”


OceanBase进入商业化新时代

从2017年开始,OceanBase跟随整个蚂蚁金服的金融科技开放,开始了向传统金融赋能的实践过程。同年OceanBase在南京银行上线,为南京银行“鑫云+”互联网金融开放平台提供金融级分布式关系数据库服务,迈出了商用的关键一步。随后,西安银行、广东农信、人保健康险、招商证券、苏州银行、常熟农商行等也在生产系统中使用OceanBase。

今天,针对企业普遍迫切需要的高性能交易处理+大容量商业智能的混合负载需求,OceanBase分布式关系数据库将充分发挥自身水平扩展能力的优势,进一步完善和优化OLTP+OLAP混合负载的功能和性能,为更多业务提供服务。


想要了解更多?

扫描下方二维码关注11月19日“蚂蚁金服双11背后的技术:巅峰洞见·聚焦金融新技术”发布会直播。