在数字化时代,数据量呈现指数级增长,尤其是视频、图像、语音等数据急速积累。数据库,在整个数据价值体系中,承担着基石的作用。海啸一般的数据正在向我们迎面扑来,关于数据的整个计算、存储、应用技术体系,都必须经过大刀阔斧的改造,才能有效应对巨量的数据处理需求。那么,作为数据帝国的“重臣”,数据库该如何进化呢?答案是原生分布式数据库。
由蚂蚁集团自主研发的OceanBase,就是原生分布式数据库的典型代表。我们可以通过OceanBase,来分析原生分布式数据库的特点和发展态势。
OceanBase创始人阳振坤
原生分布式,一个公司只需要一个数据库
有一类分布式数据库基于中间件,该方案将数据分拆到不同的数据库节点上,利用中间件来管理和访问各个数据库中的数据。这种方式本质是集中式数据库 分布式中间件,在架构上是不彻底的分布式数据库。
与之不同的是,OceanBase是原生分布式数据库,架构设计、底层存储和查询处理均面向分布式数据管理需求。OceanBase在架构之初就假定整个服务需要多个节点配合完成,并且假定任意一个节点都不可靠。OceanBase原生分布式数据库具备高可用、高扩展的特点,支持按需增加节点,并且节点没有数量限制。各个节点具有对等性,数据库集群的读写性能随着节点数量的增加几乎呈线性增长。
OceanBase原生分布式数据库采用Shared-Nothing的技术架构,通过配置数据副本的存储位置,可实现机架级容灾、机房级容灾、城市级容灾。优异的异地容灾能力,让OceanBase能够通过“两地三中心”的方式帮助金融机构应对容灾挑战,因而受到金融机构的青睐。
图注:OceanBase 原生分布式数据库上榜《2021大数据产业年度创新服务产品》榜,并荣获金猿奖。
此外,基于中间件的分布式数据库和原生分布式数据库在用户使用门槛上也有明显的区别。基于中间件的分布式数据库,通常需要用户参与到数据分拆和节点管理过程中。分库分表、中间件统一调度是高难度的技术操作,这会极大的提升用户的使用门槛。作为对比,OceanBase原生分布式数据库实现了“一个公司只需要一个数据库”。OceanBase数据库集群作为一个整体对外提供服务,用户无需关注集群内部的实现细节。原生数据库的理念是把复杂留给数据库,把简单留给客户。为了实现这个目标,OceanBase坚持100%自主研发,从头开始打造原生分布式数据库。
正如OceanBase CEO杨冰所说,原生分布式数据库创新地采用新一代分布式处理技术,能够极大降低企业的数据库成本。未来不久,创业将进入“原生分布式”时代。中小企业也可以享受原生分布式数据库带来的技术红利,OceanBase目前已经服务了大量中小客户,中小客户比重近七成。
OceanBase CEO杨冰
一体化架构,既保留可扩展性又不牺牲单机性能
分布式数据库虽然具有可扩展性的优势,但单机性能却不如集中式数据库。在一些核心业务领域,对数据库的单机性能有很高的要求,集中式数据库的地位很难撼动。
OceanBase作为原生分布式数据库的代表,很好地解决了单机性能不足的问题,既保留了分布式数据库高扩展性的优势,在单机性能上也追上了集中式数据库。
OceanBase怎么做到的呢?秘诀就在于自研的一体化架构。数据库的架构可以划分为分离架构和一体化架构:分离架构抽取分布式KV层,为了实现扩展性牺牲了单机性能,因而只能应用于非核心业务场景;与之不同,OceanBase采用一体化架构,融合事务和KV,在不牺牲单机性能的前提下实现可扩展性,可有效支撑核心业务场景。
一体化架构与分离式架构对比
除了大幅度提升单机性能,OceanBase还通过自研 HTAP 融合引擎,实现全局资源管理,保障 OLTP 与 OLAP 资源隔离和负载调度,在不牺牲 TP 性能的同时把 AP 做到了极致。借助HTAP 融合引擎,OceanBase实现了用一套引擎同时支持两个数据库业务类型,既支持 OLTP 交易型业务,也支持 OLAP 决策分析型业务。
OceanBase 自研 HTAP 融合引擎
一体化架构的原生分布式数据库虽然很厉害,但实现难度也很大。OceanBase数据库从2010年产品立项开始,到今天已经12年。先是在电商场景得到验证,之后扩展到支付宝的支付、转账等核心金融场景,成熟后才推向市场。
OceanBase发展历程
在OceanBase的持续演进过程中,一直在进行版本迭代和功能升级。仅仅2021年,OceanBase的开源版、商业版就总共迭代了8个版本,代码提交5300 次 。经过多次迭代,OceanBase在性能、兼容性、性价比等方面都得到大幅提升:HTAP能力大幅增强,OLTP性能提升68%,OLAP性能提升620%;核心系统领域Oracle兼容性行业NO.1,完整兼容PL/SQL特性,提供OCI & Pro*C兼容的产品,MySQL5.5/5.6/5.7语法/协议兼容度达99%;小型化支持8C/64G,内存使用量降低35%,采用LSM树通用压缩,容量提高3-6倍,成本节省50%,数据编码成本节省25%。
可以说,经过这么多次的技术升级,OceanBase已经成为原生分布式数据库的执牛耳者。
在数据库领域,国际事务处理性能委员会(TPC,Transaction Processing Performance Council)的数据分析型基准测试(TPC-H),一直是公认的衡量数据库数据分析能力的权威标准之一。2021年5月,在最新的数据分析型基准测试(TPC-H)榜单中, OceanBase 以 1526 万 QphH 的性能总分排名 30000GB 第一。这意味着,OceanBase 成为全球唯一在事务处理和数据分析两个领域测试中都获得第一的中国自研分布式数据库。
OceanBase CTO 杨传辉
事实上,OceanBase已经多次霸榜TPC。OceanBase 在 2019 年和 2020 年均参与了事务处理型基准测试(TPC-C),并两度登顶。性能方面,2019年 OceanBase 的测试结果是6088万 tpmC,2020年则是7.07亿 tpmC。性能大幅提升的同时,成本却显著下降,TPC-C benchmark 价格从2019年的¥6.25/tpmC 降到2020年的¥3.98/tpmC。
虽然,TPC测试成绩并不能代表一切,OceanBase 也过了用TPC排名来证明自己的阶段。但是,在TPC这样世界级的比拼中,OceanBase 多次夺冠,刷新自己创造的纪录,这至少说明OceanBase 已经成为世界领先的分布式数据库。在国际顶级赛事中,中国选手不仅拿到了入场券,还赢得了比赛,这是一件值得庆贺的成就。
数据库的大规模升级换代,正在进行时
2013年7月10日,淘宝最后一个集中式数据库下线,阿里巴巴和蚂蚁集团的核心系统全部升级到自研的OceanBase。之所以要用自研的分布式数据库取代集中式数据库,最关键的是集中式数据库已经无法满足阿里巴巴海量的数据处理需求了。用户量在快速增长,业务系统也在迅速膨胀,数据像海啸一样扑来,传统集中式数据库就像个小池塘,马上就快接不住不断涌来的数据了。数据库扩容升级,已经是箭在弦上。
随着各行各业数字化转型进一步发展,阿里巴巴当初面临的问题,其他企业也会遇到。数据量的爆发式增长,可扩展性已经不是数据库的选择题,而是必选题。以银行为例,除了传统存贷业务外,移动金融、互联网金融、智能营销、智能风控等业务线快速发展,需要处理的数据规模在快速增长。传统集中式数据库在面对快速增长的数据处理需求,已经越来越难以为继。
借助原生分布式数据库,实现数据库扩展,是必然的选择。事实上,原生分布式数据库对传统数据库的规模化替代已经在进行了。以OceanBase为例,其2021年客户数量相比2020年增长了一倍,达到400多家,占据国内头部金融企业的1/4,主要是银行、保险、证券、基金等金融客户。在几年前,人们会说银行都是一些边缘业务采用分布式数据库,核心数据还是存在集中式数据库上。以前的确是这样,但现在不同了。在OceanBase的金融客户中,越来越多银行将其核心数据系统升级到OceanBase。是否愿意升级核心数据库,这会带来根本性的不同。
OceanBase部分金融客户
此外,大量的非金融客户也开始选择OceanBase。目前,OceanBase的非金融客户营收占比达到35%,并逐年提升。人社、运营商、能源、政务等领域,客户借助OceanBase实现了数据扩容,并提升了数据管理效率,降低了成本。
以OceanBase的一个客户山东移动为例,其计费系统日处理各类详单数据 130 亿条。面对巨量的数据需求,过去使用的集中式单机数据库经常出现容量不足的情况,已经严重阻碍了业务的发展。尤其是在5G时代,用户数、并发量等数据都在激增。从集中式数据库升级为原生分布式数据库OceanBase之后,山东移动不仅解决了数据扩容的燃眉之急,还收获了诸多意外之喜,比如详单处理效率提升了 30%,存储投入成本降低了 90%,硬件和维保成本大幅降低,实现了 RPO=0 的机房级别容灾能力,不再需要搭建灾备系统等。
可以说,以OceanBase为代表的原生分布式数据库,将大规模帮助传统集中式数据库升级。中国乃至全球的数据库升级换代,正在进行当中。当然,OceanBase还有很长的路需要走。一方面,原生分布式数据库的技术升级只有进行时,没有完成时,升级迭代永不止步;另一方面,OceanBase要加快推进商业化进程,配合数据的上云进程,加快对传统数据库的替代。路虽远,行则将至;事虽难,做则必成。
文:凝视深空 / 数据猿