上周 MongoDB 的 CEO 一鸣惊人,对外宣布说他们搞 AI 的“超级高增长”客户从 PostgreSQL 阵营叛逃了,理由是 “PostgreSQL 根本扩展不了” !
这一下可点燃了 PGer 的“斗志”:咱们夸自己牛逼就得了,踩别人干啥呀? 我可是天天在 PostgreSQL 的生产问题里摸爬滚打的行家,啥性能、高可用、救火队我都干过,我的观点可不是什么季度财报上的漂亮话!
让我们看看作者如何反击 MongoDB CEO: https://stormatics.tech/blogs/postgresql-mongodb-and-what-cannot-scale-really-means
当一个大佬说 “PostgreSQL 扛不住” 的时候,他省略了太多细节,比如:
MongoDB 在处理多变文档、快速迭代方面确实牛,有它的江湖地位。但咱不能忍的是 “PostgreSQL 这种技术本身就不行” 的说法,毕竟它现在可是专业开发者里最受欢迎的数据库!
有人说 PostgreSQL 扩展性差?那得问问:是哪种扩展?哪种设计?
一个配置得当的 PostgreSQL 单节点,能轻松处理:
很多 SaaS 和金融科技(Fintech)公司都靠着一个调优过的强大单节点,安安稳稳地跑了好几年。关键在于:砸钱上最好的 NVMe 存储,调优 Linux 参数,加上连接池 PgBouncer。
单节点不够?PostgreSQL 的“分身术”早就准备好了:
更别提市面上还有 AWS Aurora、Google AlloyDB、Citus 等一堆专门搞大并发的 PostgreSQL 服务,这不就是为了解决“大规模”问题而生的吗?
别被 “AI 工作负载” 这个高大上的标签吓到,剥去外衣,它们无非就是:大量事件写入 + 矢量搜索 + 配置信息存储 + 运行分析查询。
PostgreSQL 照样能搞定:
所以,“AI 工作负载”只是个行为描述,不是给某类数据库发“免死金牌” 。
作者天天处理的都是“快不行了”的系统,PostgreSQL 这个技术本身很少是瓶颈,真正的罪魁祸首是:
PostgreSQL 扩展得很顺利,只要架构能匹配上问题!
为了公平起见,咱也承认,在某些情况下 MongoDB 确实是更明智的选择:
所以,结论是:夸 MongoDB 是更好的选择,没毛病;说 PostgreSQL 根本不能扩展,那就是瞎j b胡扯!
做数据库选择,得从以下三步走:
请问企业的CTO 和数据库工程师们:你真的把 PostgreSQL 的潜能都榨干了吗? 垂直扩展、只读副本、分区这些都做好了吗?如果还没,你还有很大的“发挥空间”!
一句话总结:MongoDB CEO 唱衰 PostgreSQL “不能扩展”,但咱用实际经验告诉你:别听他j b瞎说!扩展性不是品牌之争,而是工程设计和调优的艺术!在抱怨数据库不行之前,先问问自己是不是个合格的“架构师”吧!