二度登顶TPC-C基准测试 支付宝OceanBase树立数据库新标杆

2020-05-22 10:11:41

5月20日,据数据库权威机构国际事务处理性能委员会(Transaction Processing Performance Council)官网披露,由蚂蚁自主研发的分布式关系数据库OceanBase,在TPC-C基准测试中将事务处理性能由上次测试的6088万tpmC提升到7.07亿 tpmC,打破了由自己保持的世界纪录。

相较于去年首次登顶TPC-C基准测试,OceanBase无论是在性能或是性价比都有了显著提升,成功将数据库性能指标tpmC提升超过十倍,体现出强大的可扩展性,集群节点数突破1500,单个tpmC价格下降36.3%。再次通过国际公认的TPC-C基准测试,一方面证明了OceanBase的表现不仅符合自身对于性能测试的需求,并且是以最高要求情况下完成的,结果具有公认的参考价值;另一方面高达7.07亿 tpmC也证明OceanBase强大的可扩展性,可以做到水平扩展时的性能线性增长。

作为全球最具公信力的OLTP联机交易处理数据库的功能与性能结合的测试标准,TPC-C考验的是一个完备的关系数据库系统全链路的能力,包含对性能、性价比、服务持续等综合评价,是商业数据库证明自身实力的一个硬件指标。TPC-C通过对被测数据库必须满足数据库事务的ACID(原子性、一致性、隔离性和持久性),性能(tpmC)与数据量成正比、以平稳的性能长期运行、写事务的结果必须一定时间内数据落盘等要求,极大程度杜绝了作弊。大多数厂商受限于技术水平、软硬件生态不成熟等因素,鲜少通过TPC-C测试,更难以凭借单机超越Oracle等知名数据库,直到OceanBase实现了真正的OLTP分布式数据库技术,打破了局面。

在本次基准测试中,OceanBase不仅做到了8小时性能波动低于1%,保持在平稳的性能长期运行。同时,OceanBase由于采用多副本(本次测试是3副本)的跨机器部署, “基线数据在硬盘+修改增量数据在内存”的结构等设计理念,实现实际生产系统并不依赖数据在较短时间(比如30分钟)内落盘,成功应对除所有机房同时掉电以外的极端场景考验,确保系统运行稳定和数据安全。此外,OceanBase还启用checkpointing功能,保证所有checkpoint的间隔小于30分钟,并使得checkpoint数据持久化的时间小于checkpoint间隔,以符合TPC-C规范,也没有使用PDO进行软件性能优化,避免可能出现的异议,成功通过了TPC-C的严苛挑战。

虽然规范严格,TPC-C也鼓励新技术和新方法的使用。这一次OceanBase就没有像其他厂商的TPC-C 测试一样购买物理服务器和存储,而是租用阿里云公有云的ECS虚拟机,使得扩容/缩容轻而易举,还可按需租赁而极大降低实际测试成本,展现出超高的性价比。

值得一提的是,作为迄今为止唯一一个超千个节点并通过TPC-C测试的分布式数据库,OceanBase做到了性能线性扩展,并内置透明分区,让大规模关系数据库集群得以实现,突破了传统数据库的局限。特别是从关系数据库的角度,OceanBase在超千节点的大体量下,通过ACID测试,并保持系统性能,成功经受住了10%-15%的分布式事务考验。1500多个数据库节点,5000多万个仓库以及对应数量的客户端,并进行8个多小时的持续压测。这意味着OceanBase不仅能够满足真实场景的需求,也展现出其软硬件体系的强大韧性。

实际上,在2017年-2019年的三年时间里,韩国的关系数据库系统每年都参加并通过TPC-C测试,只是其基准值(tpmC)未能进入前几名,没有引发广泛关注。中国到目前为止也只有OceanBase通过了TPC-C测试。之所以敢于挑战,就在于OceanBase自身是真正的OLTP 分布式数据库技术,具备真正的水平扩展能力,凸显国产数据库的硬实力。

据介绍,两次 TPC-C测试采用的都是OceanBase 2.2版本,OceanBase 2.2 已经初步具备 Oracle 兼容能力并在两次TPC-C测试中都得到了应用。在得到蚂蚁自有业务和阿里巴巴的双11实战检验后,OceanBase已于2017年开始对外商用,逐渐在几十家商业银行得到落地应用,包括蚂蚁内部以及外部商业银行均有Oracle业务已经迁移到 OceanBase的Oracle模式。

从OceanBase立项第一天起,目标就是做一款通用的数据库。未来,OceanBase还将围绕同时支持OLAP和OLTP等目标,加快产品的研发节奏,以满足更多客户的业务需求。再次通过TPC-C是一个很好的起点,OceanBase将基于此不断磨砺产品,让这样一款通用型的数据库未来为整个社会提供更好的服务。