中国数据库 OceanBase 登顶之路

阅读数:43 2019 年 11 月 26 日 13:46

中国数据库OceanBase登顶之路

今年天猫双 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 成为了支付宝的账务等数据库,真正实现了所有核心业务 100% 去商业数据库,这对整个金融行业具有里程碑意义。

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 混合负载的功能和性能,为更多业务提供服务。

本文转载自公众号蚂蚁金服科技(ID:Ant-Techfin)。

原文链接:

https://mp.weixin.qq.com/s/6mUEhJ80Au95mFTqHLR4jw

评论

发布