一、2026年的数据库选择
到了2026年,如果你需要一个关系型数据库,选择取决于两个因素:
1.1 第一类:追求最佳免费数据库
即基于功能和成本做选择。在这种情况下,答案毫无疑问是 PostgreSQL,几乎没有争议。
1.2 第二类:受技术栈限制
即"我的生态系统只支持某些数据库,所以我只能从中选择"。这在行业应用中非常常见,供应商可能会说"只能在 Oracle 上运行"或"需要 SQL Server"。除非你的应用处于性能需求的前1%,或有非常特定的需求只有商业数据库才能满足,否则这是选择这些系统的唯一理由。
如果你是一个数据库平台的支持者,你肯定希望它属于第一类而非第二类。
二、MySQL/MariaDB 的处境
MySQL/MariaDB 属于第二类。
在2026年,MySQL/MariaDB 已经是"行尸走肉"。人们选择 MySQL/MariaDB 的唯一原因是他们的应用强制要求使用它。没有任何技术理由主动选择 MySQL,人们只在别无选择时才部署它。
三、WordPress:MySQL 的最后堡垒
3.1 WordPress 为什么依赖 MySQL?
答案:历史遗留。
WordPress 的 wpdb 类号称是一个数据库抽象层,但由于它只抽象了 MySQL 且不承诺抽象其他数据库,所以它实际上就是一个 MySQL 数据库抽象层。再加上无数插件假定使用的是 MySQL 并硬编码了大量 MySQL 特有语法,WordPress 在短期内不可能切换。
3.2 其他平台
除了 WordPress,还有几个主要平台依赖 MySQL—— notably WHMCS 和 Magento。但 MySQL 在此时已经沦为遗留软件。
没有人在 MySQL 上构建下一代伟大应用
MySQL,被 PostgreSQL 逐步蚕食
四、Oracle 的投入大幅缩减
4.1 MySQL 提交量断崖式下跌
Oracle 在收购 Sun 时获得了 MySQL。虽然他们确实在一段时间内继续投资 MySQL,但这种投入已经大幅缩减。以下是 mysql/mysql-server 仓库的统计数据:
时间
提交数量
2010年
约 22,360 次
2024年
约 4,730 次
2025年9月至今
超过三个月零提交
4.2 大规模裁员
去年,Oracle 裁掉了约三分之二的 MySQL 开发团队。MySQL 已经没有太多利润可言,网络效应也在消退,很难说服 Oracle 领导层继续开发。
4.3 MariaDB 的困境
MariaDB 的 IPO 以失败告终,一年后被私有化收购,短期内也不太可能征服世界。
五、作者观点:MySQL 的设计哲学问题
作者回忆起 MySQL 3 时代,当时 MySQL 声称你"不需要"外键和引用完整性,那时就意识到这个产品有问题。
5.1 两种截然不同的设计哲学
数据库
设计理念
MySQL
"我们要做一个快速的数据库,正确的事情以后再说"
PostgreSQL
"我们要从一开始就把事情做对,然后我们再想办法变快"
后者显然是一个工程上更优秀的产品。
六、未来展望
MySQL 将作为"僵尸"继续存在很多年,但作者庆幸它最终没有赢得数据库战争。
对主机行业的影响
WordPress 站点:短期内仍需 MySQL,迁移成本高
新项目:建议直接选择 PostgreSQL
现有 MySQL 部署:评估迁移可行性和长期维护成本
主机商:应同时提供 PostgreSQL 支持,满足日益增长的需求