Oracle工程师离职并回踩:MySQL糟糕透顶,强烈推荐PostgreSQL
Posted TerryChu1
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle工程师离职并回踩:MySQL糟糕透顶,强烈推荐PostgreSQL相关的知识,希望对你有一定的参考价值。
如果你即将离职,你会做什么?抨击自己付出了五年心血的技术——这是Oracle公司前首席软件工程师、mysql优化器团队成员Steinar Gunderson的选择。
这位工程师现已在Chrome团队任职,他在一篇文章中表示,他离任的原因很复杂,但他特别指出:“MySQL是一个糟糕透顶的数据库,你应该考虑用Postgres作为代替。”
MySQL已经“江郎才尽”
“来到MySQL团队就像踏入了一个平行宇宙,那里有很多人真的相信MySQL是一个最先进的产品。”尽管如此,目前来看仍然有“大量的改进空间”,“管理层强烈支持大规模的重构”。
虽然他对自己在MySQL上的工作感到自豪,MySQL 8.0也无疑是一个比5.7版本 “更好的产品”,但Gunderson表示:“你能做的也只有这么多。我和团队其他人所做的改变使得MySQL优化器朝着21世纪初期设计的方向发展,并进行了一些不错的调整,但这也是它的终点了。”Gunderson表示,无论公司内部如何吹嘘,他都无法相信MySQL会变成一个有竞争力的产品。
不过,不得不说Oracle确实在MySQL上花了很多心思。例如,去年12月,它升级了Oracle云中的在线分析处理能力。内存分析引擎旨在提高开源数据库的性能,由负责Oracle同名数据库的同一团队开发。
MariaDB不会比MySQL更好
MySQL原本是一个开放源码的关系数据库管理系统,第一个版本可以追溯到1995年。原开发者为瑞典的MySQL AB公司,该公司于2008年被昇阳微系统(Sun Microsystems)收购。2009年,甲骨文公司(Oracle)收购昇阳微系统公司,MySQL成为Oracle旗下产品。
MySQL在过去由于性能高、成本低、可靠性好,已经成为最流行的开源数据库,因此被广泛地应用在Internet上的中小型网站中。随着MySQL的不断成熟,它也逐渐用于更多大规模网站和应用,比如维基百科、Google和Facebook等网站。非常流行的开源软件组合LAMP中的“M”指的就是MySQL。
但被甲骨文公司收购后,Oracle大幅调涨MySQL商业版的售价,且甲骨文公司不再支持另一个自由软件项目OpenSolaris的发展,因此导致自由软件社群们对于Oracle是否还会持续支持MySQL社群版(MySQL之中唯一的免费版本)有所隐忧,MySQL的创始人麦克尔·维德纽斯以MySQL为基础,成立分支计划MariaDB。而原先一些使用MySQL的开源软件逐渐转向MariaDB或其它的数据库。
但Gunderson对此也是嗤之以鼻,他表示:“不要相信MariaDB会比MySQL更好。”
没有理由不选择PostgreSQL
Gunderson没有详细解释为什么PostgreSQL比MySQL好得多,但他也并不是唯一一个提出这个观点的人。
SIB Visions的首席执行官Roland Hörmann上周在Postgres Build 2021上发表了演讲,他也特别提到了从Oracle的专有数据库转移到PostgreSQL的问题。
Hörmann表示:“如果客户询问应该选择哪个数据库,我总是回答PostgreSQL。没有理由不选择PostgreSQL:它是开源的,而且会变得更好。”
“如果你要建立一个数据库,你只需配置一次PostgreSQL的conf文件,然后它就能一直运行下去。你几乎不需要做任何事情,当然,你也需要设置备份等等,但你不必再花那么多时间了。”
你会弃用MySQL而选择PostgreSQL吗?
参考链接:
- https://www.theregister.com/2021/12/06/mysql_a_pretty_poor_database/
- https://blog.sesse.net/blog/tech/2021-12-05-16-41_leaving_mysql.html
- https://zh.wikipedia.org/wiki/MySQL
CSDN AI小组在技能树服务里也是用的是PostgreSQL数据库,事实上CSDN AI小组有一位PG专家ccat。同时PostgreSQL技能树也已上线:https://bbs.csdn.net/skill/pg
以上是关于Oracle工程师离职并回踩:MySQL糟糕透顶,强烈推荐PostgreSQL的主要内容,如果未能解决你的问题,请参考以下文章
离职 Oracle 首席工程师怒喷:MySQL 是“超烂的数据库”,建议考虑 PostgreSQL