青年数据库学习互助会

数据库二十年目睹之怪现状⓹ 真实的谎言


数据库二十年目睹之怪现状往期回顾
数据库二十年目睹之怪现状⓵ 太!多!了!

数据库二十年目睹之怪现状⓶ 测评现形记

数据库二十年目睹之怪现状⓷ 隐蔽的套壳

数据库二十年目睹之怪现状⓸ 小黑入狱记

1

他们说,X数据库很强大测评超越甲骨文...

Q:L兄,我近期对接了一款国产X数据库,感觉很厉害的样子。

L:哦,说来听听。

Q:他们宣传自己的数据库测评第一名,性能超越Oracle及一众主流国产数据库,而且有客户提供的测评报告为证,看来是真的。
L:Q兄,有A和B两位棋手下十番棋,A赢九局,B赢一局,请问谁的棋力更强?
Q:显然是A更强。
L:是的,可B赢了A一局也是事实。如果B开始宣传自己战胜了A,还拿出那一局的棋谱作证。请问B的所言有假吗?
Q:不假,但这样会让人误以为B比A强,这显然不符合事实。
L:正是如此。数据库测评也是类似的道理。只要测试的场景足够多,X数据库总能在某些客户那测出优于Oracle的性能数据。他们就像B一样,选择性地公布对其有利的数据。
Image
W:原来所谓的测评第一名是这么来的。
L:这就叫“真实的谎言”。评估一个数据库的真实水平,需要从多个维度全面考察,包括标准的规范性、环境的一致性、数据的安全性、运行的稳定性、操作的易用性等等。只有综合评估,才能得出可靠的结论。

2

他们说,Y数据库好生猛上线碾压甲骨文...

W:L兄所言极是!对了,我了解到有一个数据库可能真的非常厉害。它是来自某大型企业基于开源数据库改造而成的自研Y数据库,据说上线后效果直接碾压Oracle。

L:如何碾压?

W:他们用Y数据库替换了自家核心交易系统的Oracle数据库,结果平均响应时间缩减到原来的20%-30%,故障率还下降了90%。

L:如果Y数据库真的这么牛,那Oracle公司可以关门了。
W:L兄的意思是这家企业撒谎?可他们有截图为证啊。
L:有A和B两款汽车进行测速评比,A车坐满人,B车只坐司机;A车跑的路崎岖不平,而B车跑的路平坦光滑。最后结果是B车比A车快,你怎么看?
W:这不公平啊!两辆车必须放在相同的条件下PK,结果才可信。
L:可B车比A车快的结果却是事实。企业宣传的Y数据库,就是类似的操作。他们投入数百人/年改造核心应用,将大部分复杂查询改造为单表操作,大幅减少了数据库压力。不仅如此,他们还严格限制数据库主机CPU的使用率;同时还要求所有请求必须通过审核在界面操作,禁止直接访问数据库;硬件投入更是数倍于从前...Image
W:原来如此!他们只强调运行效果优于Oracle,却对背后巨大的成本投入和诸多限制绝口不提。这种有选择性的披露无疑又是一种“真实的谎言”。
L:是的。从成本和易用性角度来看,Y数据库是很难对外进行推广的。即使仅限于内部使用,这些限制也会对业务需求的快速迭代构成极大挑战。

3

他们说,甲骨文历史久客户多案例广投入多...

M:Q兄,W兄,你们太容易被忽悠了。很多数据库圈内人士告诉我,国产数据库和Oracle存在难以逾越的差距。谁说自己超过Oracle,谁就是吹牛。
L:哦,这么不自信吗?
M:他们说Oracle的沉淀深厚,有超过40年历史,积累了无数的客户案例,研发投入更是国内数据库厂商总和的十倍还多,这些都是国产数据库难以追赶的原因。
L:你说的都是事实。不过,对比Oracle40年历史,柯达可是百年老店哦。其成功案例和研发投入自不用我多说,结果又如何?还不是破产了。同样的,丰田、奔驰、福特等百年车企的沉淀更是让举世瞩目。结果又如何?他们的市值加起来却还不如只有二十多年历史的特斯拉。
M:是啊,后发也是有机会的,否则诺基亚时代又怎会有苹果的崛起呢?
L:嗯,我们继续往下说,当年的柯达其实掌握了最先进的数码技术,但由于其胶卷业务占据全球七成,此时推出数码技术会直接冲击自身的利益集团。最终,柯达放弃了自我革命。巨人轰然倒下,百年胶卷沉淀在数码时代面前,竟然一文不值!
Oracle成立于40年前,在那个年代,的网络带宽低,分布式协议尚不成熟,这些因素极大地限制了Oracle分布式技术的发展,使其在高并发压力上显得有些力不从心,客户不得不通过分表分库来适应这种情况。
随着时代的进步,硬件技术和算法均取得了巨大突破,分布式技术的限制终于得以解除。然而,此时的Oracle市场已经越来越大,推出革新性架构会带来一系列的问题。比如,代码重构需要付出巨大代价,大规模升级成本高昂,新技术还存在不确定性等,这些对会对利益集团造成冲击。
于是,Oracle做出了妥协了,选择不调整老架构的方式。比如,将精力投入到进一步增强RAC多实例能力,进一步叠加一体机能力等方向,此外,还推出了sharding模式的分布式技术(一种分区表跨机部署能力)。但是,由于受限于原架构,sharding在国内外的案例寥寥无几。
Image
M:我就奇怪自己没怎么听说Oracle的分布式技术,现在总算是明白了。

L:历史久、积累深、投入多,这些确实是事实,但如果这就代表永远成功,甚至不可被超越,那就是又一个“真实的谎言”。我们还要看到更多的事实,比如是否能摆脱利益束缚,是否能勇于变革创新,是否能与时俱进...这是一种精神和魄力,甚为不易。值得欣慰的是,许多国产原创数据库做到了!

M:说来听听。
L:比如达梦和OceanBase都曾顶住压力,推出与前代版本差异巨大的革新产品。再比如,虚谷针对高并发资源竞争提出独特的解决方案、kingwow(金乌)数据库在极致恢复方面实现了突破、Databend专注于弹性伸缩性的创新,还有崖山在数据库计算层取得开创性成果,都让国人为之振奋!这些故事很精彩,我会在后续的《数据库江湖》系列中详细展开。

Image

此外还有很多值得深究的细节,比如你提到Oracle研发投入比国内数据库厂商总和的十倍还多,知道钱都花在哪儿了吗?其实大多在ERP套件、云及一体机上,也就是说Oracle早已不是只发力纯数据库软件了...诸如此类的种种细节话题,后续我会单独成文讨论。

众人:太期待了!

4

他们说,甲骨文细腻完善可观测性能高...

M:L兄,还有人说Oracle技术非常细腻,光隐含参数就有数千个,调优和解决故障的手段极为丰富,各种技术非常细腻,功能非常完善,远非国产数据库所能比拟的。你怎么看?
Image
L:不同岗位的人,往往会从自己的专业视角出发,关注点各不相同。运维人员担心数据库故障难以处理,自然认为参数调优、问题诊断、故障恢复最重要,参数众多似乎能带来安全感。但对数据库研发来说,内核架构的调整是会轻易颠覆运维模式的,实现故障瞬时恢复甚至无感自愈,这使得多技术细节变得无关紧要。研发人员更关注数据库底层的根本性创新。
M:确实,有道理!
L:关于功能的“丰富性”也需要辩证来看,如今Oracle有不少功能已经收效甚微了,只是因为其特定的历史背景或错误抉择的产物,所以不用去羡慕其产品功能的丰富,而是分析哪些是真正有价值的。比如,Oracle数据库内核中许多基于共享内存和CPU的机制,随着硬件和业务场景的演进已逐渐成了鸡肋。再如,早期因网络通信效率低而使用的Pro*C嵌入式SQL语言,也只是当时的无奈之举。总之,我们必须突破旧框架,抛弃本本主义,与时俱进。

Image

M:你说的,我完全没料到啊。

L:与其惊叹功能丰富,不如思考哪些功能已过时,哪些价值在减弱,哪些只是当时的跟风之举,如区块链表等。
当然,这并不意味着Oracle不好。实际上,Oracle确实有很多值得学习和追赶的地方,比如它的AWR、ASH、ADDM这些完备的报表工具,为故障排查提供了极大的便利;OEM等管理工具也让运行状况的可观测性达到了极高水平。这些极其细腻的技术细节,确实堪称经典。
M:Oracle的性能在全球应该是独占鳌头吧?
L:关于性能我们需要多角度来考量。就单机OLTP能力来看,Oracle无疑是王者般的存在。但在高并发吞吐量方面,已被多家产品超越。至于OLAP分析能力,更是被全球一众数据库碾压。
不过,换个角度来看,Oracle还可以使出“钞能力”,用昂贵一体机来来弥补并发吞吐和分析能力的不足。
再换一个角度分析,考虑到Oracle内部有如此多的可观测埋点,依然能保持强劲的性能,不得不让人感到佩服。
总之,分析问题一定要多角度、全方位。我们谈性能,要明确是OLTP还是OLAP、单机还是分布,投入的成本是否对等,是否兼顾到安全性和稳定性等。否则,得出的结论可能又是一个“真实的谎言”。

结语

万事相通,在文章的最后,我想用国产新能源汽车的发展为例(下文简称新势力),来对本文做一个总结。

短短数年,新势力实现了从无到有的造车梦,这在过去是完全不可想象的。怎么做到的?因为造车需要的许多关键技术已经高度成熟了,制造的生产效率也已大幅提升了。数据库亦是如此。如今数据库研发所需要的技术已成熟且标准化,周边工具也很完善,后发自有后发优势。

如今我们处在动力电池时代,如果新势力造的不是电动汽车,又如何与拥有百年沉淀的国外汽车巨头相抗衡?数据库亦是如此。在软硬件、协议、算法等方面的巨大突破下,Oracle反而因其多年沉淀而尴尬,因各种权衡而迷茫。关于这部分的内容,后续会单独成文深入探讨。

新势力不仅造车速度快,在生态上还比国外车企巨头更有优势。他们能够将汽车、手机、电脑、家具、穿戴设备等形成闭环,为用户带来前所未有的体验,这一切的实现,离不开中国庞大且多样性的内需市场。数据库亦是如此,中国巨大的人口基数和特殊的国际地位,让业务并发更高、数据规模更大、场景更为复杂、需求更为多样化、安全要求更为严苛...这些无疑为国产数据库的发展提供了绝佳的培育土壤。

新势力造出的车智能化程度也极高,比国外车企巨头有过之而无不及。这是因为人工智能时代刚刚到来,与车企百年沉淀无关,人工智能技术也并非车企研发,对车企而言,主要是将其技术与车辆结合,大家站在同一起跑线上。数据库亦是如此,AI不是Oracle的专利,国产数据库在智能化上的进步,已是有目共睹。

Image

最后想说:我们既不要因为Oracle的江湖地位盲目崇拜,也不要因为自身的快速进步而过分乐观,更不要投机取巧、招摇撞骗。我们要学会从多个角度客观分析现状与发展趋势,不被以偏概全的“真实的谎言”所迷惑。

Image

国产原创数据库已经跟上了时代的步伐,未来可期!!!
更多精彩原创内容见公众号
    点关注   Image  不迷路
往期回顾,欢迎留言与转发

预告:《超融合数据库》即将出版,关注梁老师公众号,敬请期待。

Image