中国数据库OceanBase登顶之路

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

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

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

1.jpg

作为全球首个应用在金融核心系统的分布式关系数据库,蚂蚁金服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的成长提供了良好的土壤和养分。

2.png

事实上,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万次/秒。

3.jpg

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

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

OceanBase进入商业化新时代

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

4.jpg

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

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

直播二维码.png

相关实践学习
体验RDS通用云盘核心能力
本次实验任务是创建一个云数据库RDS MySQL(通用云盘),并通过云服务器ECS对RDS MySQL实例进行压测,体验IO加速和IO突发带来的性能提升;并通过DMS执行DDL,将数据归档到OSS,再结合云盘缩容,体验数据归档带来的成本优势。
相关文章
|
5月前
|
存储 SQL 分布式数据库
OceanBase 入门:分布式数据库的基础概念
【8月更文第31天】在当今的大数据时代,随着业务规模的不断扩大,传统的单机数据库已经难以满足高并发、大数据量的应用需求。分布式数据库应运而生,成为解决这一问题的有效方案之一。本文将介绍一款由阿里巴巴集团自主研发的分布式数据库——OceanBase,并通过一些基础概念和实际代码示例来帮助读者理解其工作原理。
452 0
|
5月前
|
Oracle 关系型数据库 MySQL
OceanBase 与传统数据库的对比
【8月更文第31天】随着云计算和大数据技术的发展,分布式数据库因其高扩展性、高可用性和高性能而逐渐成为企业和开发者关注的焦点。在众多分布式数据库解决方案中,OceanBase作为一个由阿里巴巴集团自主研发的分布式数据库系统,以其独特的架构设计和卓越的性能表现脱颖而出。本文将深入探讨OceanBase与其他常见关系型数据库管理系统(如MySQL、Oracle)之间的关键差异,并通过具体的代码示例来展示这些差异。
451 1
|
5月前
|
关系型数据库 OLAP 分布式数据库
揭秘Polardb与OceanBase:从OLTP到OLAP,你的业务选对数据库了吗?热点技术对比,激发你的选择好奇心!
【8月更文挑战第22天】在数据库领域,阿里巴巴的Polardb与OceanBase各具特色。Polardb采用共享存储架构,分离计算与存储,适配高并发OLTP场景,如电商交易;OceanBase利用灵活的分布式架构,优化数据分布与处理,擅长OLAP分析及大规模数据管理。选择时需考量业务特性——Polardb适合事务密集型应用,而OceanBase则为数据分析提供强大支持。
1463 2
|
5月前
|
存储 SQL 算法
【OceanBase】惊天大反转!启动时真的会占用95%磁盘空间?别怕!揭秘真相+实用调整技巧,手把手教你如何优雅地管理磁盘空间,让你的数据库从此告别“吃土”模式!
【8月更文挑战第15天】OceanBase是一款高性能分布式数据库,启动时并不会默认占用95%磁盘空间,这是一种误解。其设计注重资源管理,可根据业务需求动态调整空间使用。通过设置`max_disk_usage`等参数、优化表设计、定期清理数据及启用压缩等功能,可有效控制磁盘占用,确保高效利用存储资源。
128 1
|
5月前
|
SQL DataWorks 关系型数据库
DataWorks操作报错合集之如何处理在DI节点同步到OceanBase数据库时,出现SQLException: Not supported feature or function
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
13天前
|
存储 Oracle 关系型数据库
数据库传奇:MySQL创世之父的两千金My、Maria
《数据库传奇:MySQL创世之父的两千金My、Maria》介绍了MySQL的发展历程及其分支MariaDB。MySQL由Michael Widenius等人于1994年创建,现归Oracle所有,广泛应用于阿里巴巴、腾讯等企业。2009年,Widenius因担心Oracle收购影响MySQL的开源性,创建了MariaDB,提供额外功能和改进。维基百科、Google等已逐步替换为MariaDB,以确保更好的性能和社区支持。掌握MariaDB作为备用方案,对未来发展至关重要。
39 3
|
13天前
|
安全 关系型数据库 MySQL
MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!
《MySQL崩溃保险箱:探秘Redo/Undo日志确保数据库安全无忧!》介绍了MySQL中的三种关键日志:二进制日志(Binary Log)、重做日志(Redo Log)和撤销日志(Undo Log)。这些日志确保了数据库的ACID特性,即原子性、一致性、隔离性和持久性。Redo Log记录数据页的物理修改,保证事务持久性;Undo Log记录事务的逆操作,支持回滚和多版本并发控制(MVCC)。文章还详细对比了InnoDB和MyISAM存储引擎在事务支持、锁定机制、并发性等方面的差异,强调了InnoDB在高并发和事务处理中的优势。通过这些机制,MySQL能够在事务执行、崩溃和恢复过程中保持
42 3
|
13天前
|
SQL 关系型数据库 MySQL
数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog
《数据库灾难应对:MySQL误删除数据的救赎之道,技巧get起来!之binlog》介绍了如何利用MySQL的二进制日志(Binlog)恢复误删除的数据。主要内容包括: 1. **启用二进制日志**:在`my.cnf`中配置`log-bin`并重启MySQL服务。 2. **查看二进制日志文件**:使用`SHOW VARIABLES LIKE 'log_%';`和`SHOW MASTER STATUS;`命令获取当前日志文件及位置。 3. **创建数据备份**:确保在恢复前已有备份,以防意外。 4. **导出二进制日志为SQL语句**:使用`mysqlbinlog`
54 2
|
26天前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
181 15
|
20天前
|
SQL 关系型数据库 MySQL
数据库数据恢复—Mysql数据库表记录丢失的数据恢复方案
Mysql数据库故障: Mysql数据库表记录丢失。 Mysql数据库故障表现: 1、Mysql数据库表中无任何数据或只有部分数据。 2、客户端无法查询到完整的信息。