如果不能正常显示,请查看原文 , 或返回

MySQL 和 PostgreSQL 都是当前全球最受欢迎的数据库。Gunderson 并没有具体解释为什么同为开源关系数据库的 PostgreSQL 要比 MySQL 好得多,但他的观点确实得到了不少从业者的认同。

在不久前举办的 Postgres Build 2021 大会上,SIB Visions 公司 CEO Roland Hörmann 就专门探讨了如何从 Oralce 专有数据库迁移至 PostgreSQL 的议题。

Hörmann 的公司专门开发从 Oracle 到 Postgres 的迁移工具,他在采访中表示“每当有客户问他该为项目选择哪种数据库时,我的回答总是 Postgres;即使是在接触了 Oracle 二十年之后,我的答案也仍是如此。它开源、易于实现而且越来越好,没有理由不选择 Postgres。”

“大家总能在需要时获得支持;而且在建立数据库时,只需要配置一次 PostgreSQL conf 文件,它就能永远运行。就这么简单,虽然期间还是得设置备份之类的功能,但至少不用白白占用有经验的数据库管理员们太多宝贵的时间。”

但换个角度看,这其实不是什么“二选一”抉择题。Uber 曾从 MySQL 转到 PostgreSQL ,最后又从 PostgreSQL 转到 MySQL,网上也是总是有不少关于 MySQL 对比 PostgreSQL 的争论。作为两大主流开源数据库,MySQL 和 PostgreSQL 的 “战争” 从未停止。

前 Airbnb 技术经理、计算机博士朱赟在极客时间专栏中曾对此发表看法,类似 Uber 两次高调转型的事情,在她曾经工作过的 Square 公司也发生过。Square 最早使用的是 MySQL,到了 2012 年,由于 PostgreSQL 的各种优势越来越突出——比如对地理空间(Geospatial)数据和搜索的支持,当时几位资深工程师也开始大力倡导,很多新的服务就尝试性地使用 PostgreSQL。

在她来看,两者各有特点,有些技术实现在 MySQL 里更方便一点,另一些则反之。无论哪种数据存储方式,总有方案可以解决问题,并没有觉得非要哪一种才行。因此,她认为两者各有各的优势和使用场景,并不存在一种数据库对另一种压倒性优势的说法。“对于大部分程序员来说,公司用哪个数据库,基本无需你去决定。加入一个公司的时候,除非是创业公司,或者你是 CTO、VP、总监级别的,否则大部分的技术选型早已应该尘埃落定。尤其是数据库,一旦选择,再迁移的代价非常大。因此,除非有颠覆性的优势或者难以克服的问题,很少有公司会去费时费力做这种大的迁移。”

朱赟还表示,不论是技术选型还是技术转型,其中不可忽略的因素是:你的工程师更容易驾驭哪一种技术,或者有话语权的决策者们倾向于哪一种技术。这一点其实和程序语言的选型有异曲同工之处。“一个公司如果数据库从来不出问题,那一定是因为没有业务量或者流量。所有技术的选型和设计,都有它的应用场景,除去那些让人开心的案例,剩下的毫无疑问就是坑。如何尽可能地避开这些坑,如何在出现问题的时候可以用最快的速度去修复,这些都是至关重要的因素。”

参考链接:

https://blog.sesse.net/blog/tech/2021-12-05-16-41_leaving_mysql.html

https://www.theregister.com/2021/12/06/mysql_a_pretty_poor_database/

返回