Oracle 工程师转投 Chrome:MySQL 糟糕透顶,非常强烈推荐 Postgres,称mysql是个辣鸡


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


相關推薦

2023-08-30

,本次更新目标端支持自动建表的数据库有 MySQL, Oracle, Postgres, SQLServer。另外,使用自动建表对 Source Connector 也有要求,Source 连接器必须实现了 Catalog,本次更新中只有 CDC Source 实现了 Catalog,所以自动建表功能只有在 CDC Source

2021-11-12

看不惯自家孩子学校的 IT 系统——Skolplattform,瑞典首都斯德哥尔摩市程序员 Landgren 忍不住拉上其他家长,通过对 API 的逆向工程重构了一个开源的版本 Öppna skolplattformen,从此踏上和市政府之间的漫漫拉锯战…… 政府担心

2023-10-18

室,我们一起聊 AI!>>> 如果你是一位想要让你最优秀的工程师疲惫不堪,且摧毁他们对你领导能力的信任的经理,我可以帮助你。 我曾在两个“疲惫不堪的团队”中工作,默默地看着我周围的聪明工程师离开团队或公司。 在

2022-09-20

微软首席工程师 Nick Cameron 发布了一篇博客,指出了他认为现在和未来几年 Rust 将面临的十大挑战,并提出了一些初步的解决方案想法。目前,Nick Cameron 主要负责该公司 Rust 相关的工作;曾经,他还是 Rust 核心团队的成员。 Nick

2024-07-09

16081) MySQL 9.0 前几天发布后就引起了广泛讨论,尤其是 Oracle 官方博客提到新增 Vector 数据类型。 不过 MySQL 数据库专家叶金荣却吐槽称,“MySQL 9.0 手册和 release notes 里只字不提新增 Vector(向量)数据类型及相关函数的事”

2022-10-06

(kingbase), 神通 (shentong), 南通 (gbase),TDengine,mysql,postgresql,oracle,mssql,sqlite,db2,clickhouse 数据库. 源码地址:https://gitee.com/chunanyong/zorm 官网: https://zorm.cn 测试用例 zorm-examples 基于原生 sql 语句,学习成本更低. 自带代码生成

2022-07-28

数据,它仍然保存在MySQL服务器中实例,用户无法访问。强烈推荐使用KDF,因为它提供了比用户指定密码等方式更为简单的方法,及更好的安全性。 更多详细内容可访问官网。 稿源:https://mp.weixin.qq.com/s/h5l811FMpZH4xm6ATvU9tA  

2024-08-17

WAL-G 是 WAL-E 的继承者,是一款用于恢复 PostgreSQL、GreenplumDB、MySQL/MariaDB、MongoDB、etcd 和其他一些数据库的归档数据库的工具。 WAL-G 3.0.3 现已发布,该版本的主要特点是完全支持 OrioleDB。自 v0.1.3 起,WAL-G 就支持 block-level 增

2022-12-20

事务服务。 此版本更新如下: feature: [#4863] 支持 oracle 和 postgresql 多主键 [#4649] seata-server支持多注册中心 [#4779] 支持 Apache Dubbo3 [#4479] TCC注解支持添加在接口和实现类上 [#4877] 支持 jdk17 [#4914] 支持 mysql 的update join联

2023-03-07

的成员,它是 一款静态数据库校验修复工具,支持MySQL、Oracle等主流数据库,采用Go语言开发,今天正式开源。 1. 背景介绍 作为MySQL DBA,相信应该都听说过Percona出品的 pt-table-checksum & pt-table-sync 工具(没听说过的绝对不是

2023-08-17

是代码)提供它们。 RDI 可以从各种来源(例如 Oracle、Postgres 或 Cassandra)获取数据,并在功能上将其转换为实时数据。同样,当数据不“real-time”时,RDI 可以将 Redis Enterprise 的下游更改引入记录系统,而无需添加更多代码或执

2023-07-06

:MySQL (包括支持 MySQL 协议的各种数据库), MariaDB ,Oralce ,Postgres (包括支持 Postgres 协议的各种数据库), DB2 , SQL Server ,H2 , SQLite , Derby ,神通,达梦,华为高斯,人大金仓,PolarDB,GBase8s,GreatSQL 等 大数据:HBase,ClickHouse,Cassandar

2022-08-16

赖数据库驱动,改到 lamp-database-mode 依赖 feat - 支持 Oracle - 支持 Sql Server - 调整 PDManer 源文件,支持导出三大数据库脚本 - DefGenTableColumn 增加 digit(小数位)字段,用于转换时区分字段类型 - 代码生成器转换字段类型

2022-08-03

据库流行度排行榜发布了 8 月份的更新。 可以看到,Oracle 较上月减少了 19.50 分,是本月分数下降最多的数据库,并且连续两个月出现了下滑。分数上涨较多的则是 MySQL 和 MongoDB,两者分别增加了 7.98 和 4.68 分。 不过和