DTCC 回顾:技术破局,分布式数据库创赢未来

简介: 2020 年 12 月 21 日第十一届中国数据库技术大会(DTCC 2020)于北京召开,蚂蚁集团 OceanBase 资深总监、北京奥星贝斯科技研发中心总经理杨传辉,带来了《OceanBase 原生分布式数据库》的主题分享,以下为演讲实录:

技术破局:分布式数据库创赢未来

2010年,立项伊始,OceanBase 就坚信分布式数据库代表未来,作为原生分布式数据库的实践者、信仰者,历经十年的艰难探索,已成长为全球原生分布式数据库的技术引领者。

今天的数据库形态仍以集中数据库为主,随着数据量不断增大,AI、IOT、5G 技术快速革新发展,这个比例一定会倒置,集中数据库为辅,分布式数据库成为主流。

听起来似乎匪夷所思,但蚂蚁集团的实战案例告诉我们,这并非天方夜谭。

2014年,蚂蚁集团支付宝核心数据库接入 OceanBase 时,实现了 RPO 等于 0,引入这项技术初期,所有 DBA 和业务方并不理解,都认为我们做的数据库没有需求,没有 RPO 等于 0 的需求。因为以前所有的数据库都做不到 RPO 等于 0。但是,等 OceanBase 真正实现了 RPO 等于 0,并且在双十一核心场景得到验证的时候,获得了集团上下的高度认可,OceanBase 技术也很快塑造了阿里、蚂蚁以及整个数据库行业的一项新标准。

相信 OceanBase 其他的分布式技术创新,也会同 RPO 等于 0 的创新一样,只要在行业标杆客户中得到应用,便会快速推进到行业,进而普及到整个业界。寻其本质,是因为分布式技术作为云时代的技术,指引未来,可以享受到高可用、可扩展、低成本、高性能等技术红利,能够无缝兼容传统的数据库。从 0 到 1 很难,但只要突破某个临界点,从 1 到 N、 10 到 N 其实比想象的快很多,这是从历史中得出的经验。

独辟蹊径:100%自主研发之路

与国内其他分布式数据库不同,OceanBase 一直坚持做 100% 自主研发原生分布式数据库。选择自主研发,并非我们预见到今天的国产化需求,而是相信只有 100% 自主研发,才能解决原生分布式企业级数据库的根本需求。

做数据库有两条道路,一是基于开源数据库做二次开发,初始成本较低,可以快速做出可用的数据库,但这样的数据库不通用,仅在某些场景可用,且把复杂性留给业务。

二是做真正的原生分布式数据库,道路漫漫且艰难,OceanBase 走了10年,才取得今日的小成绩。基于自研,另一裨益,就是锻炼了研发团队,OceanBase 平均研龄超过6.5岁,可以快速满足用户需求,深层次问题解决能力在业界领先。

2010年开始,OceanBase 在阿里、蚂蚁场景落地;2010-2014年期间,在阿里电商平台上线了几百个业务;2014-2017年,在蚂蚁集团全面上线交易和账务系统,成为蚂蚁集团最核心的数据库。

阿里集团是全国乃至全球数据业务场景最丰富、订单量最大的一个场景,这个场景异常难得,催生了诸多数据库项目的创新。而阿里和蚂蚁选择 OceanBase,也恰恰因为 OceanBase 通过创新分布式技术解决了 RPO 的问题,真正做到RPO 等于 0 ,这个特性对金融行业和数据库行业有着里程碑式的意义。

2017年,OceanBase 走出阿里,服务外部客户。2019年,OceanBase 在 TPC-C 性能测试以 6088 万 tpmC 的成绩登顶榜首,在九年多一直被国外数据库产品占据的榜单上留下了中国数据库的印记。在 2020 年,OceanBase 又以 7.07 亿 tpmC 的成绩再次超越自我登顶榜首。2020 年 6 月份,蚂蚁集团正式宣布 OceanBase 进行独立公司化运作,开始在商业化道路上加速奔跑。

回溯过往十年多时间的发展,OceanBase 团队成员遵循初心,始终坚持以业务为驱动、以技术创新为宗旨的完全自研之路。

以简驭繁:分布式理念制胜之道

现在市场上有很多分库分表的数据库也被称为分布式数据库,那么,原生分布式数据库和分库分表数据库到底有何不同?

OceanBase 最大的不同是诠释了原生分布式的理念——把复杂留给自己,把简单留给业务、开发者和运维人员。

集中数据库的确好用,但有两大问题,一是成本比较高,依赖高可靠硬件,无法按需扩展容量。互联网简单常规的做法,是基于开源数据库做分库分表,虽部分解决了扩展问题,但却带来一致性问题,一致性导致运维复杂性,把运维的复杂性带给开发人员。在传统行业中,IT 能力并非核心竞争力,这些行业希望能用更简单的技术,把复杂留给基础设施。

蚂蚁集团有上万台服务器,如果不用原生分布式数据库 OceanBase,而是使用分库分表方案,只要其中一台机器出现故障,就无法保证一致性,需要通过各种运维平台、运维工具或者是让 DBA 直接处理,这是一个不可持续的方式。

OceanBase 的理念是原生分布式数据库,底层通过分布式技术实现 RPO 等于0,上层以 SQL 的方式提供给客户,保证完整的 ACID。

OceanBase 两度参加 TPC-C 测试,都取得不俗的成绩,跑 TPC-C 测试最大的意义不是跑出多高的性能,而是证明了一点——基于分布式架构的技术能够实现跟集中式数据库完全对标的ACID 能力,能够做到和集中式数据库一样的功能。这其实证明的是一个不可逆的大趋势,那就是未来分布式数据库必然会超越代集中式数据库。

从内部打磨到外部使用

做数据库有一个难点,即数据库稳定性问题。数据库是系统工程,意味着代码量特别大,会存在很多 BUG。数据库可以通过测试来解决数据库 BUG,但是这样远远不够,还需要核心应用场景的检验。

OceanBase 背靠蚂蚁集团,立足于双十一大促场景,能够享受到蚂蚁集团技术发展的红利,经过数年的打磨已经应用在蚂蚁集团会员、交易、账户、网商银行等核心业务中100%的流量。蚂蚁集团往往会出于支持 OceanBase 甘愿当小白鼠,在集团内部尽早使用,将所有的坑踩一遍,团队快速版本迭代,打磨核心功能,保证稳定性。

经过2年多时间的孕育,目前OceanBase 收获了诸多关键客户。在今年9月,OceanBase 在工商银行对公理财业务系统上线,挑战巨大,使用到了 OceanBase 两地三中心的高可用容灾能力。此外,OceanBase 已经在建设银行、南京银行、人保健康险、西安银行、天津银行、苏州银行、东莞银行、常熟农商行、广东农信、中国人保、招商证券、中石化、深圳公积金、山东移动、浙江移动等众多行业机构上线。

三维一体:企业级架构设计

OceanBase 的定位是做一款通用的企业级分布式数据库。分布式数据库是透明可扩展的,服务的场景多种多样,包括传统企业,如金融、政府、运营商、公共事业、电力、能源等关系到国计民生的行业。这样的行业对数据库的要求,首先是稳定可靠;其次才是高性能、高可控、自主创新等。

OceanBase 和技术关键点主要有3个:一是原生分布式技术,通过高可用、透明、先进性等,让更多企业能够享受到分布式的技术红利。二是企业级数据库,作为服务企业场景的数据库,OceanBase 的底层引擎能够同时支持简单查询和复杂查询混合的引擎。三是面向云时代创新,OceanBase 做企业级云原生数据库,支持更多混合负载的场景,提供更好的扩展性。

OceanBase 的产品理念是一体化的设计,提供 Oracle 和 MySQL 两种兼容模式。同时,一套 HTAP 引擎同时支持 TP 和 AP 业务。采用的是透明可扩展的分布式架构,原生支持分布式事务,全局强一致,让用户使用简单。基于Paxos + 数据同步的灵活的容灾架构,支持最高级别容灾模式。同时具备灵活的部署模式,无缝适配云化架构和经典架构。

2020年9月云栖大会上,OceanBase 2.2版本正式发布。2.2版本的重要革新在于其兼容能力:提升语法和行为兼容及数据安全功能,并优化混合负载引擎,并进一步提升灵活性,能够支持多种容灾模式。同时,OceanBase 积极拥抱产业生态,目前已经与更多主流芯片/操作系统完成适配。

相关文章
|
8天前
|
关系型数据库 MySQL 分布式数据库
《MySQL 简易速速上手小册》第6章:MySQL 复制和分布式数据库(2024 最新版)
《MySQL 简易速速上手小册》第6章:MySQL 复制和分布式数据库(2024 最新版)
45 2
|
30天前
|
Cloud Native OLAP OLTP
在业务处理分析一体化的背景下,开发者如何平衡OLTP和OLAP数据库的技术需求与选型?
在业务处理分析一体化的背景下,开发者如何平衡OLTP和OLAP数据库的技术需求与选型?
126 4
|
1月前
|
Cloud Native 关系型数据库 分布式数据库
开发者视角看云原生数据库一体化技术趋势
随着云原生数据库技术的不断发展,一体化数据库解决方案成为技术圈的热点,云原生数据库一体化技术是当前数据库领域的重要趋势,对于开发者而言,学习理解和应对这一趋势,对于业务开发的成功实施非常重要。比如,阿里云瑶池数据库和PolarDB-X等产品通过离在线一体化、处理分析一体化和集中分布一体化等创新理念,引领了数据库领域的新变革。那么本文就来从开发者的角度探讨云原生数据库一体化技术趋势,并分析在业务处理分析一体化、集中式与分布式数据库边界模糊和云原生一体化数据库的选择等方面的影响。
190 4
|
16天前
|
分布式计算 Hadoop 大数据
大数据技术与Python:结合Spark和Hadoop进行分布式计算
【4月更文挑战第12天】本文介绍了大数据技术及其4V特性,阐述了Hadoop和Spark在大数据处理中的作用。Hadoop提供分布式文件系统和MapReduce,Spark则为内存计算提供快速处理能力。通过Python结合Spark和Hadoop,可在分布式环境中进行数据处理和分析。文章详细讲解了如何配置Python环境、安装Spark和Hadoop,以及使用Python编写和提交代码到集群进行计算。掌握这些技能有助于应对大数据挑战。
|
29天前
|
设计模式 安全 Java
【分布式技术专题】「Tomcat技术专题」 探索Tomcat技术架构设计模式的奥秘(Server和Service组件原理分析)
【分布式技术专题】「Tomcat技术专题」 探索Tomcat技术架构设计模式的奥秘(Server和Service组件原理分析)
33 0
|
16天前
|
存储 中间件 关系型数据库
数据库切片大对决:ShardingSphere与Mycat技术解析
数据库切片大对决:ShardingSphere与Mycat技术解析
25 0
|
29天前
|
SQL 关系型数据库 MySQL
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(8.0版本升级篇)
【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(8.0版本升级篇)
96 0
|
29天前
|
NoSQL Java Redis
【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的分布式锁的功能组件(二)
【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的分布式锁的功能组件
15 0
|
3天前
|
存储 分布式计算 Hadoop
基于Hadoop分布式数据库HBase1.0部署及使用
基于Hadoop分布式数据库HBase1.0部署及使用
|
3天前
|
SQL Java 数据库连接
Java从入门到精通:2.3.1数据库编程——学习JDBC技术,掌握Java与数据库的交互
ava从入门到精通:2.3.1数据库编程——学习JDBC技术,掌握Java与数据库的交互

热门文章

最新文章