Gunderson 直言 MySQL 的代码仍有“很大的改进空间”,“公司管理层也一直支持大规模重构”。他进一步吐槽到:“真正让我不爽的是那些坚持认为 MySQL 一切良好的家伙(好像大多数 MySQL 用户和开发者根本没怎么用过其他数据库)。甚至连 executor 这种令人爆炸的东西——整个一大坨、各种组件功能彼此缠杂在一起——都能被称为‘高效’(事实正好相反)。”
尽管如此,Gunderson 依然对自己在 MySQL 项目中的贡献感到自豪,他表示自己参与的 MySQL 8.0 版本确实“比 5.7 版本好得多”,而且仍在持续改进,但“我们能做的也只有这些了”。
“我和同事们一直努力让 MySQL 优化器能够达到 2000 年初的标准设计水平,还做出了不少很好的调整,但也就是这样了。”
“最终,我们发现无论是强大的人才储备还是 Oracle 决胜云端的雄心,都不足以为 MySQL 争取到充足的重构资源、自然无法让它成为真正具有市场竞争力的产品。”但 Gunderson 也表示不想把 MySQL 贬得一无是处,如果有人正在用 MySQL 而且感觉不错的话可以继续。他只是希望大家“能在闲暇的时候偶尔出圈走走,看看 MySQL 之外的广阔世界”。
MariaDB 也好不到哪里去/p>
MySQL 的创造者是 David Axmark 与 Michael Widenius,最初版本可以追溯到 1995 年。而其母公司、瑞典初创企业 MySQL AB 于 2008 年被 Sun Microsystems 收购,Sun 本身又在一年之后被甲骨文招至麾下。
在收购完成之后,Michael Widenius 从 Sun 离职,对 MySQL 进行了分叉,于是有了 MariaDB,同时他另外组建了一支 MySQL 开发团队。在此之后,MariaDB 就以托管服务 DBaaS 的形式持续发布着自己的 MySQL 迭代版本。
不过 Gunderson 对 MariaDB 也没什么好话。“别觉得 MariaDB 就比 MySQL 好多少。Widenius 和他的团队是因为不满于新的治理模式才离开的,而不是因为他们突然醒悟过来、发现自己在代码里埋下了多少混乱和隐患。”
例如,因为没有模块化设计,分类器需要识别输入内容来自表扫描还是范围扫描。而任何不属于这两种类别的输入(包括 joins)都需要经过重大调整。所以如果不重写查询,根本无法在现有设计中执行 full outer joins(直到现在 MySQL 也仍然不支持 outer joins,但至少团队已经意识到并承认这个问题的存在)。还有,“我甚至没法使用‘切片’系统,这简直是我在真实世界中见过的最离谱的状况。”
针对 Gunderson 的吐槽,MariaDB 联合创始人兼产品管理副总裁 Max Mether 向 TheRegister 回应称:“没有任何一款数据库是完美的。不同模型、存储引擎、方言、协议的激增都证明了这一点。”
Max Mether 还说道:“无论你怎么看,在 Oracle 下的 MySQL 一直没有‘掌舵人’,在内部几乎快被抛弃,之前还受到过超大规模的攻击,而这位工程师的帖子再次强化了我对 MySQL 发生这些事件的看法。”他指出,MariaDB 在 2016 年就完全放弃了之前的 MySQL 代码,并引入了新的存储引擎、方言、监视器,甚至是基于机器学习的工作负载分析。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!