MySQL|Oracle 工程师转投 Chrome:MySQL 糟糕透顶,强烈推荐 Postgres

MySQL|Oracle 工程师转投 Chrome:MySQL 糟糕透顶,强烈推荐 Postgres

出品|开源中国
文|白开水
前 Oracle 公司首席软件工程师、MySQL 优化器团队成员 Steinar H. Gunderson 在自 Oracle 离职前夕发布了一篇名为《》的博客 。 他在博客中写道 , 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 人 , 是时候该看看外面的世界了 。
【MySQL|Oracle 工程师转投 Chrome:MySQL 糟糕透顶,强烈推荐 Postgres】在离开 Oracle 后 , Gunderson 已经加入了 Google Chrome 团队 。