眼镜蚂蚁

首页 » 常识 » 常识 » 如何理性看待蚂蚁金服OceanBase刷
TUhjnbcbe - 2025/1/19 19:21:00

OceanBase这两天霸屏朋友圈!

一派是浮夸的宣传,超越Oracle,世界第一,过度解读,全面否定对手,引起了技术圈内人士的反感,因为刷新TPC-C纪录并不能说明OceanBase现在就超越了Oracle。

另一派则是并不客观的质疑,不仅武断的认为OceanBase性能测试结果是靠硬件堆出来的,还臆测再测一次,Oracle拿第一不是难事,而且数字应该远不止两倍;其结论不仅缺乏证据,而且对分布式数据库和TPC-C标准缺乏基本了解,略有误导之嫌;

在以前的文章中,我就曾经说过,虽然,我们不能盲目崇信跑分,但跑分的确是一种比较直观反映软硬件性能的方式,尤其是数据库这种性能测试非常复杂的产品。

我们应该如何理性看待OceanBase刷新TPC-C纪录?我认为搞技术还是要讲究事实,要理性看待还原事实。

刷新TPC-C纪录NB吗?

每个数据库厂商都试图向客户证明自己的系统性能最好、处理能力最强,但数据库厂商各自的性能测试数据没有足够的说服力。

而TPC-C作为一个OLTP联机交易处理系统的benchmark是世界最权威的测试基准,这点相信数据库圈内人士没有异议,实际上,要想通过TPC-C并且拿到高分非常难,这是事实。

作为一个广泛接受的标准,TPC-C是严谨的并极大地杜绝了作弊。

TPC-C要求被测数据库必须满足数据库事务的ACID,即原子性、一致性、隔离性和持久性,其中隔离性为可串行化隔离级别,持久性要求能够抵御任何单点故障等。

其次,TPC-C规定被测数据库的性能(tpmC)与数据量成正比。

第三,TPC-C要求被测数据库能够以平稳的性能长期地运行。去掉启动预热(rampup)和结束降速(rampdown)时间后,被测数据库至少要性能平稳地(steadystate)运行8小时,其中性能采集时段(不少于2小时)内的性能累积波动不得超过2%。

第四,TPC-C要求被测数据库的写事务的结果必须在一定时间内数据落盘,对于具备checkpoint功能的数据库,checkpoint的间隔不得超过30分钟,checkpoint数据持久化的时间不得超过checkpoint间隔。

在国内,金融,电信,政府等行业POC都以TPC-C为性能测试基准,通过TPC-C,意味着拿到了这些企业的准入证明,刷新纪录则意味着商业化之路上竞争优势的提升。

因此,随着这些年在数据库技术上不断取得突破,越来越多的国内数据库厂商开始打榜TPC,在我看来是一种好事,凸显的是一种自信,同时也说明国产数据库与国外数据库之间的差距在缩小。

当然,要想全面超越Oracle,无论是OceanBase还是其它国产数据库,还有很长的路要走,超越不能靠YY,不要过分解读,但也不需要刻意低调。

 年后为何打榜的数据库公司变少?

我认为有三个原因:

第一,这个时间点Oracle在市场上已经全面领先对手DB2;

第二,Oracle和DB2性能太强,导致其他玩家没机会进入前几名,直白的说,进不了前几名就得不到

1
查看完整版本: 如何理性看待蚂蚁金服OceanBase刷