OceanBase再次更新TPC-C记录,结果提高近12倍

摘要转载自 「飞总聊IT」 ( mp.weixin.qq.com ) By 飞总聊IT

预计阅读时间 0 分钟(共 0 个字, 0 张图片, 0 个链接)


点击“飞总聊IT”,选择“星标🔝”

后台回复“666”领取资料一份




今天一早起来注意到TPC-C的结果悄悄的更新了。Oceanbase时隔大半年以后再次登顶,打败了自己原有的记录。说起来,2019年10月,蚂蚁金服旗下数据库产品Oceanbase第一次对外发布消息说TPC-C跑出了成绩,世界第一,那时候我还专门写了一篇文章:世界登顶,蚂蚁金服OceanBase战胜Oracle。这在去年是一件非常值得骄傲的事情。


没想到,一年以后他们又更新了记录。这就让我这个吃瓜群众有点兴趣了。我们先回忆一下去年发生的事情。当时,宣布这个成绩的时候,OceanBase宣称这是打破了Oracle保持9年之久的世界纪录。质疑的声音是很多的。一方面是Oracle已经很多年没有再更新最新的跑分分数了,另外一方面这么多年来软件硬件发展也产生了巨大变化。


但是我当时也表明了我个人的态度:蚂蚁金服OceanBase战胜9年前的Oracle是关公战秦琼吗。事情不能这么看。能够跑通TPC-C本身就是一件非常了不起的事情。从无到有,对任何一个数据库来说都是最难的。要不为什么国内很多的牛逼数据库不去跑个分呢?不是不想做是,没这个能力。而起点就打败了目前现存的最牛的记录,已经是很漂亮的答卷了。


接下来,无论是Oracle提交新成绩,还是OceanBase继续优化,提交更好的成绩都是值得拭目以待的。坦白说,我对OceanBase提交更好的成绩一点都不吃惊。即便这个成绩是目前看到的12倍,我毅然觉得,从无到有的难度,可能会更高。





我们先来看一下OceanBase提交的新结果,为了便于比较,我把老的结果以及其他历史上最好的结果也都贴上来了:



从结果上看,新的OceanBase的结果跑分直接提高了一个数量级,从6千万提高到了7个亿。大约是老结果的12倍,而老的结果大概是第三名,2010年的Oracle跑分的两倍。从性价比上看,新的结果也大幅度提高了,从6.25人民每单提高到了3.98人民币每单。


如果说去年的结果和Oracle2010年的结果比起来,仅仅是在性能上翻倍,性价比基本上差不多的话,今年的结果就是性能几十倍的翻,而性价比则缩减了大约1/3。这些结果的取得无疑是巨大的。让我看的目瞪口呆,一时间除了牛逼不知道说什么好。


某种程度上,这也应证了我之前说过的观点。TPC-C测试从无到有,是一件不容易的事情。一旦第一次的结果通过了验收以后,从有道更好,以中国团队的素质和速度,很快就会有质的飞越。我们中国人,从来都没有怕过跑分的。




跑出了这么牛逼的成绩,在硬件上肯定有不同的地方。好在TPC-C的标准提交的时候也有比较详细的硬件清单。仔细看一下结果,这是新的跑分的硬件情况:



这里是去年10月份的情况:


我们可以看到,去年的跑分是用了64个客户端,服务器端420个处理器,而今年新记录则是400个客户端,服务器端3114个处理器。当然具体多少个核多少个线程,图里也都有,我就不一一列举了。


硬件使用情况反映了一个很有趣的现象。分值增加了12倍,客户端和服务器端的硬件使用并没有增加那么多倍。所以,从这个角度来看,OceanBase应该是比线性扩展性能还要更优越的。也就是说我只要加上足够的硬件,我的整个系统的性能会很容易水平扩展。


这是一件非常牛逼的事情,一个数据库系统可以做到线性扩展,也就是说增加两倍的硬件可以提高两倍的性能,就非常了不起了,而优于线性的扩展,我的理解,是不太容易达到的。所以,很可能是OceanBase本身的性能在过去半年内又得到了进一步提升。换个说法,如果用现在的OceanBase的代码和去年10月份的硬件去跑分,跑出来的分应该比去年10月份公布出来的高。



所谓没有对比就不知道有多牛逼。OceanBase这次的结果和上次的结果一对比,就看得出来,这个系统的水平扩展能力还是非常强的。这是分布式系统的优势。当然,无论怎么样牛逼的系统,其水平扩展总是有边界的。OceanBase也不例外,不存在着给它扩容到十万台机器,性能也能对等提高的程度。但是无论如何,能够在一定程度内做到这样的水平扩展已经很厉害了。


我想OceanBase能够跑出这样的分来,和他们团队去年第一次TPC-C跑分以后发现了一系列问题,然后进行对应的代码优化是不无关系的。跑分这种东西,尤其是TPC-C的跑分,虽然不能说完全无法取巧,但是大体上还是能够反映出一个系统的健壮性和问题的。能够跑起来,对症下药的去修改提高,无疑对OceanBase是很受益的。


我记得大概是在两三年前有一次和阳老师在微信上聊天,聊天的时候我建议阳老师去跑跑TPC-C。当时我并没有得到直接的回应。后来去年跑分结果出来的时候,阳老师专门写了文章表示让团队除了处理好业务需求以外,投入额外的资源跑分是一件非常不容易做的决定。但是阳老师最终还是让团队投入额外的资源,把TPC-C跑出来了。并且一跑出来就是世界第一。


无论如何,我们都可以看到OceanBase在这些年里的进步有目共睹。能够把TPC-C跑分跑出这样的成绩,并给大家展示出良好水平扩展的性,我想OceanBase目前作为一个数据库,说它是这世界上最牛逼的数据库之一,也是实至名归的事情。


飞总聊IT,互联网最新最全的知识和信息的汇聚地。每天给大家提供互联网的干货。粉丝可以发送“666”到后台领取一份学习资料。


扫描二维码加飞总微信号





more_vert