MySQL 如何赶上 PostgreSQL 的势头?
> 原文地址
我与 MySQL 社区的前辈交谈时,经常遇到这个问题:「为什么 MySQL 这么棒,而且(至少根据 DB-Engines 的计算)仍然比 PostgreSQL 更流行;但它的地位在下降,PostgreSQL 却势不可挡地越来越受欢迎?」MySQL 生态能做些什么来挽回局势吗?我们来探讨一下!
图片
来看看为什么 PostgreSQL 发展如此强劲,而 MySQL 却在走下坡路。我认为这归结于所有权和治理、许可证、社区、架构和开源产品的发展势头。
所有权和治理
MySQL 从未像 PostgreSQL 那样受到「社区驱动」。然而,当 MySQL 由瑞典小公司 MySQL AB 和 BDFL(仁慈的终身独裁者 -- Benevolent Dictator for Life,一个非正式称号,常用于幽默地称呼开源开发社区项目的发起人)Michael「Monty」Widenious 掌管时,它获得了很多社区的信任。更重要的是,它没有被大公司视为特别的威胁。
现在,情况不同了 -- 甲骨文拥有 MySQL,业内许多大公司,尤其云计算厂商,都将其视为对手。当然没有理由为对手贡献代码和营销,创造价值。此外,对于 MySQL,拥有 MySQL 商标的甲骨文公司总是有额外的优先权。
相比之下,PostgreSQL 由社区运行、其所有供应商都立足于一个商业前提:比起 PostgreSQL 生态中的小公司,EDB 这样的公司没有优先权。
这意味着大公司更愿意推荐 PostgreSQL 作为首选,因为这不会为它们的竞争对手创造价值,而且它们对 PostgreSQL 项目的方向有更大的影响力;而数以百计的小公司则通过本地「草根」社区的开发者和市场营销努力,使 PostgreSQL 在全球无处不在。
MySQL 社区能做什么?
社区能做的不多 -- 完全取决于甲骨文公司。我在《甲骨文能拯救 MySQL 吗》中也写到,给 MySQL 一个中立的基础(如跟 Linux 或 Kubernetes 合作),它才有和 PostgreSQL 竞争的机会。我并不乐观,因为我认为,甲骨文目前更感兴趣的是「硬」货币化(译者注:直接通过现有的产品和服务产生营收),而不是增加用户量。
许可
MySQL 拥有双重许可 -- GPLv2 和可以从甲骨文购买到的商业许可;而 PostgreSQL 只有宽松的 PostgreSQL 许可。
事实上,这意味着很容易创建有商业许可的 PostgreSQL 衍生分支,或将其嵌入获得商业许可的项目中,不需要任何「变通方式」。当然,开发此类产品的人也在支持和推广 PostgreSQL。 MySQL 确实允许云计算厂商创建自己的商业分支,与 MySQL 兼容的亚马逊 Aurora 就是最著名、最成功的此类分支,但在软件发行时却不允许。
MySQL 社区能做什么?
还是那句话,能做的不多 -- 只有甲骨文公司能根据许可重新授权 MySQL,而我很难相信他们会减少对 MySQL 的控制,尽管采用「开放核心」和「仅限云」模式的软件,通常与采用宽松式许可「核心」的软件可以结合得很好(原文:even though「open core」and「cloud only」editions often play well with permissively licensed「core」software)。
社区
我认为,当我们考虑开源社区时,最好考虑三个而不是一个社区。
说到用户社区,MySQL 的表现仍然相当出色,尽管 PostgreSQL 越来越多地成为新应用程序的首选。不过,用户社区往往是其他社区工作的成果。
PostgreSQL 中,贡献者社区更强大,这是由许多组织推动的。我们举办了针对贡献者的活动,还编写了关于如何为 PostgreSQL 作出贡献的书籍。PostgreSQL 的扩展架构也有助于轻松扩展 PostgreSQL,并公开分享工作成果。
供应商社区 -- 这才是主要问题,没那么多公司有兴趣推广 MySQL,因为这样只是在为甲骨文公司创造价值。 那么,这不会鼓励所有甲骨文「合作伙伴」去推广 MySQL 吗? 有可能,全球范围内也确实有一些由合作伙伴支持的 MySQL 活动,但这些无法与供应商对 PostgreSQL 的支持相提并论,因为PostgreSQL是「他们的项目」。
MySQL 社区能做什么?
这次我不会说社区已经无能为力。其他领域的现状使工作更困难,回报也更少,但社区仍然可以做很多事情。 如果你关心 MySQL 的未来,请组织并参与各种活动,尤其是在 MySQL 社区之外。你可以写文章、录视频、写书,在社交媒体上推广,并将它们提交给 Hacker News。
尤其不要错过 FOSDEM 2025 MySQL Devroom 的征集活动!
甲骨文公司也可以在不减少盈利的情况下参与。与潜在贡献者接触 -- 发起外部贡献者可以参与的活动,与他们分享计划,支持他们的贡献,至少在他们与 MySQL 社区蓝图相一致的情况下。
架构
一些 PostgreSQL 用户把 PostgreSQL 的发展势头归因于其更好的架构和更简洁的代码库。我认为这不是主要原因,但值得讨论。
PostgreSQL 的设计实现了大量功能强大的扩展,而 MySQL 只有有限的扩展可能性。最大的例外是存储引擎接口,MySQL 支持多种存储引擎,而 PostgreSQL 只支持一种(尽管 Neon 或 OrioleDB 这样的分支可以通过打补丁来改变)。
这种可扩展性使 PostgreSQL 易于创新(尤其在拥有更强大的贡献者社区的情况下),且无需纳入核心代码。
MySQL 社区能做什么?
即使 MySQL 的可扩展性有限,利用其已有的各种插件(https://dev.mysql.com/doc/extending-mysql/8.0/en/plugin-types.html)和组件(https://dev.mysql.com/doc/refman/8.4/en/components.html),也还是可以做很多事情的。
首先需要针对 MySQL 插件的社区市场,这将鼓励开发者构建更多插件,且容易关注。 我们还需要甲骨文的支持 -- 承诺扩展 MySQL 插件架构,支持开发者构建插件,即使它们会与甲骨文的产品竞争。 例如,如果 MySQL 拥有创建自定义数据类型和可插拔索引的插件,也许就已经有用于 MySQL 的 PNG 向量替代方案。
开源产品的发展势头
选择数据库是一个长期的赌注,因为更换并不容易。问问那些几十年前选择甲骨文,现在又被它困住的人就知道了。这就意味着,选择数据库时需要考虑未来:不仅希望所选的数据库十年后还会存在,而且要考虑它是否会随着时间推移而发展,以满足未来的技术需求。
正如我在文章《甲骨文最终会杀死 MySQL 吗》(见 https://percona.com/blog/is-oracle-finally-killing-mysql/)中所写,甲骨文已将大量开发者的重心转移到专有和 Cloud-only MySQL 版本上,MySQL Community 几乎已废弃。MySQL 在今天许多应用中仍非常出色,但它的确落后了,MySQL 社区中许多人质疑它是否适合未来的发展。
MySQL 社区能做什么?
再次强调,MySQL 的发展主要取决于甲骨文公司,因为是他们一手推进了 MySQL 的官方路线。至于 Percona Server for MySQL?我们确实提供了甲骨文 MySQL 的领先开源替代方案,但必须注意所作的改变,以免破坏完全兼容性或使上游合并成本过高。MariaDB 则作出了不同的权衡;不受限制的创新使其与 MySQL 的兼容性越来越差,而且每个版本的差异也越来越大。
MariaDB
MariaDB 由 MariaDB 基金会管理,不是已经尽可能地解决了所有这些问题吗? 别急!我认为,MariaDB 是一个有缺陷的基金会,它并不拥有所有的知识产权,尤其是商标,无法为所有供应商提供公平的竞争环境。它仍然存在商标垄断问题,因为只有一家公司能提供 MariaDB 的所有东西。
不过,MariaDB 可能有机会;MariaDB(公司)刚被 K1 收购,管理和商标所有权有机会发生变化,更接近 PostgreSQL 的情况。只是私募股权公司不擅长减少对商标知识产权的控制,所以希望不大。
MariaDB 基金会可以将其更名为 SomethingElseDB,从而获得对该项目的完全商标控制权,但这意味着 MariaDB 将失去其所有的知名度;这种情况不太可能发生。
MariaDB 与 MySQL 也有很大区别,协调两者之间的差异需要多年的努力。但只要有足够的资源和社区意愿,这是可以解决的。
总结
如你所见,由于 MySQL 的所有权和管理方式,社区的活动受到了限制。长远来看,MySQL 社区与 PostgreSQL 竞争的唯一途径是所有重要的参与者联合起来(就像 Valkey(https://valkey.io)那样),在不同的品牌下创建一个 MySQL 替代方案 -- 这可以解决上面提到的大多数问题。
💡 更多资讯,请关注 Bytebase 公号:Bytebase

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
超越 RAG 基础:AI 应用的高级策略
作者:来自 ElasticElastic Platform Team 我们最近与 Cohere 举办的虚拟活动深入探讨了检索增强生成 (retrieval augmented generation - RAG) 的世界,重点讨论了在概念验证阶段之后构建 RAG 应用程序的关键注意事项。我们的演讲者是 Elastic 的首席解决方案架构师 Lily Adler 和 Cohere 的高级产品经理 Maxime Voisin,他们就这一不断发展的自然语言处理 (natural language processing- NLP) 领域的挑战、解决方案和最佳实践分享了宝贵的见解。 为什么要构建一堆解决方案来补充大型语言模型? 大型语言模型 (Large language models- LLM) 功能强大,但远非完美。它们经常会犯一些荒谬的错误,例如建议在披萨上涂胶水或吃石头 —— 这些错误源于它们的训练数据,没有内在的逻辑层。这就是 RAG 的作用所在,它增加了一个关键的控制层和上下文,以帮助从 LLM 中得出响应。RAG 的全部目的是将相关信息检索系统与 LLMs 集成,以增强文本生成。通过...
- 下一篇
通过 NGINX JavaScript 模块脱敏数据,有效保护用户隐私
原文作者:Liam Crilly - F5 产品管理高级总监 原文链接:通过 NGINX JavaScript 模块脱敏数据,有效保护用户隐私 转载来源:NGINX 中文官网 NGINX 唯一中文官方社区 ,尽在nginx.org.cn 迷惑面部识别软件的织物图案 由 Adam Harvey设计 2016 年 10 月,欧盟法院裁定 IP 地址为“个人信息”,因此适用《数据保护指令》和《通用数据保护条例》(GDPR)。对于许多网站所有者而言,这意味着如果数据离开了欧盟,那么日志文件的归档和分析就会面临问题。进入美国的数据虽有欧盟-美国隐私护盾提供一定的保护,但仍面临着隐私组织和政府的法律质疑,他们认为目前的安全防护还不够。 然而,保护日志文件中的个人数据不仅仅是欧盟的问题。对于获得 ISO/ICE 27001 等安全认证的企业而言,将日志文件移出其原生安全区,例如从网络运维部门移至营销部门,就可能会影响其认证范围和合规性。 本文介绍了一些简单的解决方案,可用于清理 NGINX Plus 和 NGINX 日志文件,这样就能将其安全导出,而不会泄露“个人身份信息 (PII)”。 [编者按...
相关文章
文章评论
共有0条评论来说两句吧...