Py学习  »  DATABASE

MySQL,不要再自以为是了

Python爱好者社区 • 2 年前 • 185 次点击  
文 | 白开水
出品 | OSC开源社区(ID:oschina2013)
前 Oracle 公司首席软件工程师、MySQL 优化器团队成员 Steinar H. Gunderson 在自 Oracle 离职前夕发布了一篇名为《Leaving MySQL》的博客。他在博客中写道,MySQL 是一个相当糟糕的数据库,并强烈建议大家应该考虑使用 Postgres。
Gunderson 还补充称,“不要相信 MariaDB 有多好。Monty 和他的手下离开是因为他们对新的管理方式不满意,而不是因为他们有一天突然醒悟过来,意识到他们在代码中造成了多么大的混乱”MariaDB 是 MySQL 分支,由 MySQL 的创始人 Michael “Monty” Widenius 所创建;被设计为 MySQL 的直接替代产品。
Gunderson 在博客中描述了自己加入 MySQL 团队时的感受, 表示:

来到 MySQL 就像进入了一个平行宇宙,那里有很多人真正相信 MySQL 是一个最先进的产品。同时,我参加了培训并被告知优化器是如何在内部工作的;我真的需要一些缓冲时间来接受几乎所有的东西都是多么的原始。这感觉很奇怪,但我想你很快就会习惯了。从某种意义上说,这并没有让我感到困扰;很多糟糕的代码意味着有很多改进的机会,而且管理层也非常支持大规模的重构工作。更令人震惊的是那些坚持认为一切都很好的人(似乎大多数 MySQL 用户和开发人员并没有真正地使用过其他数据库);甚至像执行器这样明显疯狂的东西,在那里所有东西都是一个大块、所有东西都与其他东西相互作用,也被称誉为'高效'(其实不然)。

并针对上述言论举例称,譬如因为没有模块化,分类器必须关注它的输入是来自 table scan 还是 range scan。“任何不属于这两种情况的东西(包括连接),都需要很大的调整。在给定的设计中,如果不重写查询,完全的外层连接根本不可能执行(MySQL 仍然不支持它们,但至少现在它没有受到旧的 we-can-do-left-deep-plans-only 设计的阻碍)。甚至不让我着手使用'slice'系统,这也许是我在任何现实世界的软件中见过的最疯狂的设计。”
不过他也表示,还是为自己一直在做的工作感到由衷的自豪;MySQL 8.0 是比 5.7 更好的产品,而且它还将继续改进。但话锋一转,Gunderson 又指出,能做的也只有这么多了。“团队其他人和我一直都在致力于使 MySQL 优化器朝着相当标准的 21 世纪初期设计的方向发展,并有一些不错的调整,但这也是它的终点。”
Gunderson 称,无论 Oracle 公司内部说的有多天花乱坠,他依旧不认为 MySQL 会成为一个有竞争力的产品;并建议那些正在使用 MySQL 人,是时候该看看外面的世界了。
在离开 Oracle 后,Gunderson 已经加入了 Google Chrome 团队。
话说,你觉得哪个数据库更好用呢?评论区等你~

重磅!Python交流已成立


公众号运营至今,离不开小伙伴们的支持。
为了给小伙伴们提供一个互相交流的技术平台,特地开通了Python交流群。
群里有不少技术大神,不时会分享一些技术要点,更有一些资源收藏爱好者不时分享一些优质的学习资料。(免费,不卖课!)
需要进群的朋友,可长按扫描下方二维码。

▲长按扫码

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/126400
 
185 次点击