整理丨诺亚
出品 | 51CTO技术栈(微信号:blog51cto)
数据库赛道向来竞争激烈。在开源数据库领域,PostgreSQL和MySQL是主要的竞争者,两者有各自独特的用户群和生态系统。但近几年,两者的较量却开始分出伯仲。
根据2023年的Stack Overflow开发者调查,PostgreSQL已经成为开发者中最受欢迎的数据库,MySQL则以41.09%的占比屈居第二。无可辩驳的是,PostgreSQL持续展现出强劲的增长势头,相较来说,MySQL虽然长期保持着极高的受欢迎度,但在某些时期的表现却起伏不定。
对于MySQL的逐渐弱势,有人将矛头对准了其维护者——Oracle公司。
图源:Stack Overflow
1.对专有功能的偏好限制了MySQL的采用
从发展史来说,MySQL诞生于上个世纪90年代中期,它最早由MySQL AB公司开发,后来在2008年被Sun Microsystems收购,最终在2010年随着Sun被Oracle公司收购而归入Oracle麾下。
但是随后Oracle公司作为MySQL的维护者,其对MySQL的策略和管理方式遭到了一些资深工程师的质疑。
早前就有观点指出MySQL在某些性能优化和新功能引入方面可能不如PostgreSQL活跃,尤其是在Oracle似乎更专注于其专有系统的功能增强,比如MySQL Heatwave。
最近,一位履历丰富的MySQL数据库工程师的直接发声再次佐证了这一观点——Oracle公司通过倾向于为其专有系统增加功能,可能无意中正在扼杀这个广受欢迎的开源数据库。
发声的工程师名叫Peter Zaitsev,曾在MySQL Inc.担任性能工程师,后来又成为了Percona的创始人。这位来自俄罗斯的软件工程师曾参与编写关于高性能MySQL的书籍,并曾为Oracle对开源数据库的管理进行过辩护。
但在最新的博文中,Zaitsev表示Oracle在过去几年中推广其分析系统Heatwave的做法令人生疑。他公开表示Oracle可能无意中限制了MySQL的发展,这不仅关系到技术的进步,更触及了开源精神与商业利益的平衡问题。
2.“建议将MySQL转移到Linux基金会”
Zaitsev于2006年创立了开源数据库咨询公司Percona。他在公司网站上发布的博文中表示,Oracle的MySQL企业版专注于“企业需要而开发者不太关心”的特性,因为Oracle的MySQL Heatwave分析数据库服务的发展更为令人担忧。
“Heatwave包含了许多在MySQL社区版或MySQL企业版中不可用的功能,如分析查询加速或机器学习功能。”
他指出,开源MySQL甚至没有并行查询执行功能。“当市场上出现具有数百个核心的CPU时,这些核心并没有显著变快,这越来越限制了性能,”他说道。
向量搜索是另一个在Heatwave中可用但在MySQL中不可用的功能,尽管它在开源PostgreSQL中可用。
“当所有其他主要的开源数据库都增加了对向量搜索功能的支持,而MariaDB也在努力实现这一功能时,MySQL生态系统中仅将此作为云专属的MySQL Heatwave功能,至少可以说是不幸的。”最后,他还补充说JavaScript支持作为MySQL企业版独有的功能发布。
“所有这些都打破了上述提到的黄金法则,因为它们确实限制了MySQL的采用,无论是从缺失这些特性的角度看,还是从担心这种趋向可能对MySQL未来发展产生的影响来考虑。”
“如果这还不够,MySQL似乎在性能工程部门遭受了多年的忽视,与MySQL 5.6相比,即使是在简单的单线程工作负载下,性能也显著降低。你可以说功能是以性能为代价的,但MariaDB已经能够显著减少性能退化,而PostgreSQL在添加新功能的同时甚至提高了性能。”Zaitsev补充道。
在LinkedIn上就该话题进行的讨论中,Zaitsev坚持认为,如果Oracle认为维护MySQL应该成为共同的责任,“因为他们不再从承担大部分项目维护负担中获得价值”,他们完全可以“将其转移到Linux基金会(或其他独立的非营利实体),并专注于维护他们的内部版本(类似于AWS Aurora)”。他补充说:“在这种情况下,可以合理期待AWS、GCP等来分担推动开源项目前进的重任……我相信他们会愿意这样做的。”
3.拯救MySQL需要正视开发者需求
当然,并非所有参与讨论的圈内人士都同意Oracle的举动会扼杀开源MySQL。
有人评论:“我对此并不确定。Oracle目前似乎更聚焦于MySQL作为服务的提供。要判断他们的动作是否会影响(MySQL的未来),我得先审视他们对MySQL服务器本身的改进情况。我个人真心希望不会发生那样的情况,因为这将让我深感遗憾。最近,我正致力于优化PgPool配置,以确保其高效且可扩展性良好,但从功能丰富度来说,与ProxySQL和MySQL Router相比较,PgPool的确显得有些不足。”
Zaitsev回复说:“对数据库即服务的关注意味着开源MySQL被忽视并落后,这意味着正在扼杀它......”
首席技术官Mark Callaghan同样表达了认同,但语气中透露出遗憾:“我不得不赞同这一观点,尽管这让我感到心痛。我们所依赖的那个积极扩展MySQL、深入探索其技术边界、踊跃提交问题报告、主动修补漏洞,并不时为MySQL带来改进的外部贡献者群体,正日渐萎缩。”
而相较MySQL,老对手PostgreSQL在DB-Engines排名系统中正逐步缩小与MySQL的差距,并在某些关键指标上实现了超越,显示出了强劲的增长动力和开发者社区的支持。
特别是在2023年,PostgreSQL荣获了DB-Engines的年度数据库奖项。进入2024年,PostgreSQL的排名趋势依旧乐观,从2024年4月的报告来看,它的分数相比去年同月大幅增加了,显示了其持续上涨的态势,并有望再次成为年度DBMS冠军。而MySQL的前景则黯淡许多。
Zaitsev指出,如果Oracle不能够重视现代开发者对关系型数据库的当前需求,那么MySQL可能会遭遇消亡,无论这种结果是出于Oracle的直接行动,还是仅仅因为未能采取必要的措施来维持其活力。
参考链接:https://www.theregister.com/2024/06/11/early_mysql_engineer_questions_whether