TPCH10G 测试:OceanBase TiDB Oracle SPL

本文分析了一项TPCH10G测试,指出数据量相对较小使得测试主要体现CPU计算能力而非分布式计算关键能力。结果显示,TiDB的SQL优化引擎优于OceanBase,而Oracle在类似场景下可能表现更优。此外,SPL在小数据量复杂计算中与Oracle基本持平,但对程序员要求较高。OceanBase由于开源版可能缺乏优化,性能相对较弱。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前几天听说 OceanBase 打榜了 TPCH 的第一名,之后又看到这样一个测试报告《OceanBase 开源版与 TiDB 对比测试报告》

先点评一下这个测试报告:

1. 坦白地说,这个测试还不太专业,并不能比出分布式大数据计算的关键能力。TPCH10G 的数据量相对于这些机器内存实在太小了(单机内存都超过数据量 18 倍以上)。这种情况下,再加上预热,数据已经全部缓存到内存了,列存基本不起作用,也就谈不上对比列存引擎的能力了。而且,数据量太小,会被作为小表复制到集群中的每个节点,分布式计算中重要的 Shuffle 能力也无法被考查到,网络负担仅仅是些汇总结果的传输,而 TPCH 的结果集都很小,这个时间可以忽略不计。

2. 目前这个数据量对比的是纯 CPU 计算能力,本质上是在对比 SQL 优化引擎的能力。如果直接按 SQL 书写的逻辑去计算,那计算量通常会很大,也就会很慢了。但数据库都会有优化,不会严格按 SQL 的逻辑来计算,会在不改变运算目标时尽量采用更低复杂的算法,就可能跑得更快了。从这个测试结果上看,TiDB 的 SQL 优化引擎要明显强过 OceanBase。

以往的经验,Oracle 的 SQL 优化引擎做得很好。如果不能在列存和集群上占便宜的话,很多专业 OLAP 数据库都跑不过 Oracle。而当前这个场景就是这样,数据量太小可以全部缓存进单机的内存,列存失去意义,集群也沦为简单地用多机分摊运算。所以我们猜测 Oracle 会比这两个都快,单机的 Oracle 甚至有可能跑过集群的 OceanBase。

之前我们还用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值