如果大家当时能看见原来十年后 OceanBase 能长成这样,可能十年前 OceanBase 得到的支持会好很多。但是这种如果是不存在的,很多时候你要先证明自己。
两个月前,国际权威的性能测试机构TPC发布了最新的TPC-C性能测试结果排名,在这个最新排名中,名列第一的是阿里巴巴蚂蚁金服集团提交并经过TPC严格审计的测试结果。
这则短讯经过环球时报等权威媒体的报道,再加上众多科技自媒体的助攻,迅速发酵成舆论热点,吸引了众多国人的眼球。
先不看新闻内容,光是看标题就足以让人耳目一新了。又是“击败”,又是“第一”,又是“打破世界纪录”,即使是不知数据库为何物的门外汉,看了这几个关键词也能够感受到这份测试报告的分量之重了。
但是如果你去仔细研究榜单上的其他数据库厂商的测试数据,就会发现事情并没有那么简单,起码得出“OceanBase登顶全球第一”这样的结论为时尚早。
由于谦虚内敛的民族特质,人们总是喜欢看到低调的扫地僧,数据库性能测试这个事情,恰恰中国的学术界和产业界都是追赶者,没有扫地僧那样无人能望其项背的实力,商业公关上,却有正常宣传甚至适当美化的需求。
于是,各路不懂行的,以为是上海交大陈进打磨汉芯般的造假,懂行的,则以【堆机器谁不会】【乘着摩尔定律的东风躺赢】嗤之以鼻。
我做的软硬件产品,在一些细分的领域里,超过国外最好的也有好几次,其实也不必跪久了站起来不习惯。你们问我怎么看这个事,我要说,能拿到这个第一,含金量非常高,很多貌似理客中的IT从业人员大大低估了拿这个第一的难度,批评不在点子上,对数据的解读也存在明显的纰漏。
同时,阿里这个软件技术能力和Oracle相比还有差距,远远谈不上第一,也更谈不上两倍的碾压,有些行外人也是自信过头过度吹捧了。
常见的几种观点和问题,释疑如下:
1.用2019年的成绩和2010年Oracle的成绩对比,公平吗?
目前也没啥更公平更权威的性能测试了。当然,如果有组织能搞个数据库奥运会,跟百米短跑一样,大家用同样的硬件,同样的时间来比赛,那就更公平啦。这里要澄清几个误区:Oracle公司也并不是2010年之后就没兴趣搞tpc测试了,2013年还搞了一次的,图中第四名就是,那次硬件规模要小很多,且没有rac。
2.阿里用更好的硬件跑了个高分,胜之不武吗?
这个就和超级计算机排名一样,美国最新的summit没出来之前,中国神威之光排第一,summit出来后神威之光降到第三。神威之光和summit的硬件架构、处理器类型、处理器数量完全不一样,但榜单本来就是排的计算能力,这是超级计算机的综合实力体现。同理,tpc-c考察的是单位时间内处理事务的能力,不是每个CPU每赫兹主频的处理能力。
3.只要Oracle愿意,随时能夺回第一吗?
Oracle的单机性能非常强悍(这个看每tpmc的价格可以大概看出来),在数百个节点的集群下,Oracle夺回第一是大概率事件。但,Oracle的rac目前是依赖共享存储的,节点数扩展是有尽头的,受制于盘柜,ocean base是分布式数据库,不依赖共享存储,水平扩展的潜力更大。
4.这个tpc-c测试已经没落了,大厂都不屑于玩了?
确实不热闹,20年来,软件商也就Oracle,微软,ibm,sybase,sap几个在玩。Oracle也有六年没有提交了,最近三年只有一个韩国公司在提交测试报告。因为数据库市场寡头垄断,排名评测的热度和频次确实远远不如手机等消费品。但要说Oracle ibm不屑于玩,排名毫无价值也是非常不客观的。
这里我替阿里说几句话,如果oracle更新数据库,阿里第一确实有可能不保,但是阿里为我国构建了比较成熟、完善、处于世界前列的、能够落地的实用数据库,即使没有拿到第一,这样的成绩不值得吹爆?
OceanBase在此次通过TPC-C测试并排名第一,代表国产数据库取得了来之不易的巨大进步的正面影响却被过渡营销这种批评所覆盖,实在让人捉摸不透。
要批OceanBase但更要批TPC
其实,OceanBase这次在TPC-C性能测试排名第一,是个客观事实,据此夸大一点可以说是“世界第一“,或者破了纪录。因为这是TPC-C在所有经他们审计的性能测试结果中客观的排名,并没有造假等本质问题。
当然,由这个排名只能证明OceanBase在性能上超过了九年前Oracle的测试结果,但并不能证明OceanBase在性能上超过了当今的Oracle。
但我要表达的是,这同样也不能证明当今的Oracle就一定比OceanBase性能优秀。也即是说,OceanBase存在超过当今Oracle性能的可能性。
如果Oracle不服,Oracle完全可以提交一个新的测试结果,并交由TPC审计通过。大家通过统一的测试规范进行公开比拼。
我想说的是,Oracle敢约吗?我非常期待这样的公开竞赛。
另外,我想说的是,这次公布最新测试结果排名是TPC运营的高明之处。OceanBase炒作的背后与他们脱不了干系。
为什么Oracle九年前创造的纪录一直没有新的突破?原因要么是Oracle或IBM或其他厂商九年来一直没有进步,在性能上没有取得任何突破;要么是TPC运营存在问题,业界主流厂商对TPC-C性能测试排名不再有兴趣,不愿意参与。
显然,第二种原因更为可能。
但此次OceanBase的参与一下子又让TPC-C测试送到了国人面前,并再次引起了整个产业界的关注,也许,就这一次测试结果的公布,能让已开始不受主流厂商待见的TPC-C测试再次火起来。
OceanBase在走向成功的道路仍然有两大挑战。
第一,产品化还远不够。一方面,OceanBase在非阿里巴巴集团的应用案例还是太少,其产品化的磨炼还不够;另一方面,OceanBase在产品化的相关准备也还是远远不够。例如,在蚂蚁金服的官方网站上,OceanBase的相关资料非常少,甚至连产品介绍的文档我都没有发现。(说实话,我觉得蚂蚁金服的官方网站做得太差了,和他们的国际声誉简直太不匹配了。)
第二,生态系统还没有形成。OceanBase目前主要是支撑阿里巴巴集团自身的应用,它的应用开发伙伴还比较少。而应用开发伙伴是一个数据库产品能否取得成功的关键所在。
不仅OceanBase在产品化、生态系统方面还需要大量创新性的努力,而且还面临的一个阿里巴巴的内部挑战,即它与阿里云自己开发的数据库PolarDB如何区别发展。PolarDB虽然没有进行TPC-C测试,还不能断定自己的实力,但他拥有阿里云整个生态的支持,并且能在阿里云直接销售,OceanBase则没有。
再从另一个角度说,记录9年没有破,说到底还是动力不够,再往下说一点,就是数据库整个行业正在逐步走向夕阳。
转载:https://blog.csdn.net/yuanziok/article/details/103381810