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

来源: OSCHINA
2021-12-08

前 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 团队。

 

展开阅读全文
9 收藏
分享
加载中
精彩评论
以前有个经典的对各个数据库的评价,记不全了,大意是:
MS SQL 是不用数据库的人做的数据库。
My SQL 是程序员做的数据库。
PostgreSQL 是数据专家做的数据库。
Oracle 是给希望有人帮背锅的人做的数据库。
2021-12-08 10:32
15
举报
前 Oracle 公司首席软件工程师、MySQL 优化器团队成员,这就是你说的典型的菜鸟?
2021-12-08 14:13
7
举报
PostgresSQL功能比MySQL强大,但是各种语法总觉得怪怪的,看上去不像是一个高度抽象能力的人所设计的;MySQL虽然被人诟病,但目前仍然是最简单、最稳定、最容易上手的方案。
2021-12-08 23:01
4
举报
在搭 devops 平台,发现好些个软件已经把唯一支持的数据库改成 pgsql,比如 gitlab/harbor,为了统一,整个 devops 平台只用 pgsql 了
2021-12-08 09:42
4
举报
因为惯性吧,能用就继续用,反正以小公司的业务体量,触及不到深水区
2021-12-08 09:20
4
举报
最新评论 (28)
阿里出来教育他一下
2021-12-09 08:21
2
回复
举报
PostgresSQL功能比MySQL强大,但是各种语法总觉得怪怪的,看上去不像是一个高度抽象能力的人所设计的;MySQL虽然被人诟病,但目前仍然是最简单、最稳定、最容易上手的方案。
2021-12-08 23:01
4
回复
举报
哈哈哈
2021-12-08 15:55
0
回复
举报
pgsql同步es有成熟方案没
2021-12-08 13:48
0
回复
举报
关系型数据库里面oracle最牛逼,其次pg
2021-12-08 13:02
1
回复
举报
因为人家是数据库核心成员知道什么是数据库,我们大众只是需要一个便宜的,能跑sql的东西
2021-12-08 12:16
2
回复
举报
pgsql也是免费的。
2021-12-08 13:48
3
回复
举报
我们新的系统都换到pgsql了,个人观点,总体使用下来比mysql好。
2021-12-08 12:12
1
回复
举报
2002 年的时候,给公司买个批量授权的 mysql ,数据库选型决策的是老美那边总部。
换工作后我做主的时候,用 postgresql 比较多。
2021-12-08 10:53
1
回复
举报
以前有个经典的对各个数据库的评价,记不全了,大意是:
MS SQL 是不用数据库的人做的数据库。
My SQL 是程序员做的数据库。
PostgreSQL 是数据专家做的数据库。
Oracle 是给希望有人帮背锅的人做的数据库。
2021-12-08 10:32
15
回复
举报
哈哈 可以
2021-12-08 10:55
0
回复
举报
说这话就是个典型的菜鸟。 没有糟不糟糕, 只有合不合适。
2021-12-08 09:50
1
回复
举报
前 Oracle 公司首席软件工程师、MySQL 优化器团队成员,这就是你说的典型的菜鸟?
2021-12-08 14:13
7
回复
举报
你只是使用者,人家是在开发mysql的团队,天天看着mysql的混乱难受了才会这么喷的,等他们自己都受不了了不开发了,你用什么
2021-12-09 03:02
0
回复
举报
别的数据库团队专业也有同样的想法
2021-12-09 09:53
1
回复
举报
又一个装的。就相当于你一个用手机的去喷人家芯片架构设计不合理。 大哥你是哪里来的自信说人家是菜鸟。你要是这么diao。你不说进去Oracle,你哪怕参与mysql内核维护也行啊。
2021-12-09 12:45
3
回复
举报
能参加mysql开发团队就已经很牛了,这世界上有多少程序员是不够资格的
2021-12-13 11:53
0
回复
举报
你何等的无知啊
2021-12-11 11:25
0
回复
举报
他是从源码角度吐槽吧
2021-12-14 10:33
0
回复
举报
更多评论
28 评论
9 收藏
分享
返回顶部
顶部