Alibaba 蚂蚁自研数据库OceanBase登顶TPC-H榜单,核心成员撰文讲述背后思考

曾经一度濒临解散的OceanBase团队(专注分布式关系数据库),在5月20日这天再次迎来了自己的高光时刻:国际事务处理性能委员会(TPC,Transaction Processing Performance Council)官网发布最新的数据分析型基准测试(TPC-H)榜单,其中,蚂蚁集团自主研发的分布式关系数据库OceanBase以1526万QphH的性能总分排名30000GB第一 。
这是中国自研数据库的一次里程碑 。Alibaba 蚂蚁自研数据库OceanBase登顶TPC-H榜单,核心成员撰文讲述背后思考
文章图片

这意味着,OceanBase成为唯一在事务处理和数据分析两个领域测试中都获得第一的中国自研数据库 。
雷锋网注意到,去年的5月20日OceanBase同样破了一个记录:性能分数首次突破亿级大关达到7.07亿tpmC,相比2019年提升近11倍 。(雷锋网(公众号:雷锋网)注:tpmC值在国内外被广泛用于衡量计算机系统的事务处理能力,为"每分钟内系统处理的新订单个数"的英文缩写) 这一事件标志着OceanBase在当时成为全球最快数据库,实现了数据库这一基础技术的革命性突破,也是自研技术对世界IT技术作出的重要贡献 。
一直以来,数据库与芯片、操作系统并列为全球技术三大件,也是企业IT系统必不可少的核心技术 。OceanBase由蚂蚁集团自主研发,历经阿里巴巴和蚂蚁集团大规模业务场景的长时间考验 。

“OceanBase是典型的‘用出来’的数据库,经过十余年不同场景的严苛打磨 。” OceanBase公司CEO杨冰表示,“原生分布式的OceanBase具有无单点瓶颈,可线性、在线扩展和收缩等特性,可以更好地解决业务扩展性难题,帮助机构快速实现数字化转型 。”
数据分析型基准测试(TPC-H)自2006年公布以来很快被业界认可,是公认的衡量数据库数据分析能力的权威标准之一 。TPC官网显示,在数据分析型基准测试榜单的30000GB结果一栏,OceanBase占据性能排行首位,其中代表着数据库核心性能的每小时执行请求数综合指标达到了1526万QphH@30,000GB, 比第二名微软SQLServer的成绩高出10多倍 。
Alibaba 蚂蚁自研数据库OceanBase登顶TPC-H榜单,核心成员撰文讲述背后思考
文章图片

此前,蚂蚁OceanBase在2019年和2020年均参与了事务处理型基准测试(TPC-C),并两度登顶 。
很多人会好奇,OceanBase不是拿过事务处理型基准测试(TPC-C)第一了么,为什么还要打TPC-H这样一个AP场景的榜单?
OceanBase负责此次测试的核心成员陈萌萌撰文,讲述了背后的技术思考 。以下enjoy:
收到期盼了好几天的审计员最终邮件,告知测试结果已经挂到了官方网站 。这意味着,测试小组的工作可以正式告一段落 。接下来的60天,此次测试的报告将处于公示阶段,迎接全世界数据库专家的检视和挑战 。
Alibaba 蚂蚁自研数据库OceanBase登顶TPC-H榜单,核心成员撰文讲述背后思考
文章图片

OceanBase TPC-H项目组
对我个人来说,原本期待的兴奋感没有如期而至 。更多的是平静 。平静地把官网上的测试报告又从头到尾读了一遍 。按说,前前后后来来回回几十封邮件的技术沟通,报告里面的内容已经烂熟 。再读一次,既是出于技术人天生的谨慎,更是不想因为一个低级错误而让项目所有同学三个月的心血付诸东流 。
关于为什么要冲击此次的榜单?简单来说,是因为今天的OceanBase已经升级为一款支持 HTAP 混合负载的企业级分布式数据库,同时具备事务处理和数据分析两类场景的处理能力 。我们希望市场对我们有更多了解 。权威中立机构的背书总好过“王婆卖瓜自卖自夸” 。此外,从技术上说,这也是一件水到渠成的事情 。只是,这个时间点跟OceanBase对数据库的理解,以及未来想做的事情有密切关系 。
一、HTAP,既是数据库的初心,也是数据库的未来
HTAP数据库(Hybrid Transaction and Analytical Processing,混合事务和分析处理)就是能够将事务处理(On-Line Transactional Processing,以下简称TP) 和数据分析 (On-Line Analytical Processing,以下简称AP) 请求在同一个数据库系统中完成 。
这个概念,由Gartner在2014年的一份报告中提出 。分析师认为,这种架构具有显而易见的优势:不但避免了繁琐且昂贵的ETL操作,而且可以更快地对最新数据进行分析 。这种快速分析数据的能力将成为未来企业的核心竞争力之一 。
关系型数据库的英文缩写是RDBMS,其中的M就是“管理”的意思,不管是TP还是AP,数据库的存在就是为了“管理”数据,我认为这是数据库这个系统的初心 。

推荐阅读