国庆期间,一则“阿里数据库成绩刷新Oracle尘封九年记录”消息蔓延,让不少行外人士为之一振。事情是这样的:蚂蚁金服自主研发的金融级分布式关系数据库 OceanBase,不久前在被誉为“数据库领域世界杯”的 TPC-C 基准测试中打破了由美国公司 Oracle(甲骨文)保持了 9 年之久的世界记录,成为首个登顶该榜单的中国数据库产品。
但雷锋网却发现这件事在传播过程存在信息缺失的问题,不可否认阿里OceanBase的努力,但也应该正确看待这项测试本身,综合多方消息,雷锋网希望呈现测试的原貌和代表的意义。
TPC-C 基准测试是什么?
TPC(transaction processing performancecouncil)被称为事务处理性能委员会,负责定义诸如 TPC-C、TPC-H&TPC-R 和 TPC-W 基准测试之类的事务处理与数据库性能基准测试,并依据这些基准测试项目发布客观性能数据,也正是因为其权威客观,TPC-C是行业中公认的权威和最为复杂的在线事务处理基准测试,TPC-C基准测试成为OLTP(在线事务处理系统) 基准测试的工业标准。
TPC-C 于 1992 年 7 月 23 日认可为新的基准测试,通过模拟仓库和订单管理系统,测试广泛的数据库功能,包括查询、更新和 mini-batch事务(队列式小批量事务),TPC-C基准测试针对一种模拟订单录入与销售环境测量,tpmC代表每分钟能处理的事务数量。
记录尘封九年,不是因为无法突破
非不能也,实不为也。
雷锋网从数据库行业人士获悉,TPC-C 基准测试的准备至少要半年,阿里在后续公布的信息中也披露,OceanBase团队前后准备时间超过一年,全世界仅有的三个官方审计员有两个参与到本次测试审计工作中。
而且九年间不只是Oracle,其他数据库厂商也没有选择去刷新榜单,仅仅是因为Oracle的成绩已经领先其他厂商九年么?性价比是一个不得不提的因素。
突破这个测试能带来多少有形的或者无形的回报,是厂商需要考虑的现实问题。自媒体特大号就指出,在TPC-C官方370多行的榜单中,只有蚂蚁金福的测试结果是白背景,其他公司因为都是灰色背景。榜单备注着:“所有灰色背景的测试结果,由于软硬件升级的原因而过期”。
九年之后,蚂蚁金服排名第一60,880,800 tpmC,排名第二的是九年之前的甲骨文,成绩为30,249,688 tpmC。
九年之后,蚂蚁金服所用的测试系统总造价:380,452,842人民币;服务器硬件为420颗英特尔至强白金8163,总核数6720,总线程13440;数据库是OceanBase2.2。九年之前,Oracle所用的测试系统总造价:30,528,863美元≈213,702,041人民币;服务器用了108颗 SUN Sparc T3,内核总数1728,线程总数13824,数据库为Oracle 11g R2。
硬件性能的提升虽然不能百分百反映在数据库性能的提升上,不过实际转换的性能也今非昔比,而且Oracle数据库也已经迭代到19c版本,2020年1月将会发布全新版本 Oracle Database 20c,两家厂商所使用的软硬件差距都比较大。
前述行业人士认为,Oracle可能也觉得纯刷榜单意义不大,本身准备测试耗时耗力,九年时间测试结果也说明从硬指标翻过Oracle也比较难,测试结果证明阿里数据库性能能达到某个特定值,但是误传成比赛不太妥当。
抛开榜单,OceanBase也是第一梯队
那么,OceanBase有没有必要去刷新这个榜单?雷锋网认为还是有必要的。以往行业都在讨论国产数据库何时能翻过Oracle这座大山,而现在我们至少看到了山路。
雷锋网获悉,阿里目前自研数据库分为两个支线,OceanBase和POLARDB,OceanBase主要是蚂蚁金服体系使用,作为阿里自研的国产分布式数据库,支付宝使用的就是OceanBase;POLARDB也是阿里自研的,定位是下一代关系型分布式云原生数据库,是阿里云主推的云原生数据库,目前OceanBase也在阿里云上公测。
OceanBase产品架构
支付宝在自研之前使用的也是Oracle数据库,阿里去IOE大潮下,2016年,OceanBase替换了支付宝最核心的账务系统中的Oracle数据库,OceanBase实现了OLTP联机交易处理过程下,前台接收的用户数据,可以立即传送到计算中心进行处理并在很短的时间内给出处理结果。
OceanBase和POLARDB在阿里内部也存在部分竞争关系,但总体上都是为了下一代数据库而努力。OceanBase在普通服务器上实现了金融级高可用,支持“三地五中心”城市级故障自动无损容灾,同时具备在线水平扩展能力。
而从实际使用角度,测试所用的服务器和存储等都很可能不是用户真实场景,比如全闪变混闪,服务器利旧直接使用老款产品,Oracle的测试结果也是经过优化的,阿里OceanBase的成绩已经足以满足大部分场景的性能要求,而且重要的是价格低不少。比如在OceanBase的测试中,硬件成本只占整体成本的18%左右,只考虑硬件的性价比大幅优于集中式数据库。
对此,阿里可能也没想到事态的发展,会向着“中国自研数据库打破西方垄断”的方向传播,阿里内部人士也对雷锋网表示,内部对此测试结果没有太大反应。
此前业内专家向雷锋网(公众号:雷锋网)表示,云原生数据库市场可能在未来的两三年内就会爆发。公有云市场增速减缓,云原生数据库更迎合市场需求;当前国外数据库厂商的技术垄断逐渐被打破,国产数据库崛起势头强劲有望进一步发展。
数据库市场即将开始下半场角逐,云厂商是影响这场战役新的变量,与Oracle对标并做到Oracle这种程度是很长的过程,当下并不现实。厂商如何用对数据库市场的理解,或者在数据库技术上的优势来去打动价值20-40亿元的市场客户,是摆在数据库厂商面前的现实问题。
阿里和Oracle数据库本身的定位就不同,OceanBase的优势在于采用分布式架构,硬件成本更低,可用性更好且能够做到线性扩展,但是,OceanBase单机的性能离Oracle、DB2还有不小的差距,后续需要重点优化单机存储性能。
此外,OceanBase的定位是在同一套引擎同时支持OLTP业务和OLAP业务,而目前OceanBase的OLAP处理能力还不如Oracle,后续需要加强存储模块对大查询的处理能力,支持将OLAP算子下压到存储层甚至在压缩后的数据上直接做OLAP计算。
九年前,云计算在国内刚刚兴起,如同云计算对于专有IT基础设施的冲击,新的数据库也在冲击传统数据库,当性价比达到一定程度,云计算的需求自然浮现,而且随着技术的演进,云计算能够在某些场景体现出不弱于专有IT基础设施的表现,数据库领域正在重演九年前一幕。