对于 MySQL 发展走向的讨论,从 Oracle 收购 Sun 公司起就从未停止过,也是从那时起,开始有人选择 Percona Server for MySQL 或 MariaDB。
时至今日,MySQL 已经不是当年的 MySQL,但并不影响 MySQL 仍旧拥有活跃的社区和一大批拥趸。
比如,几个月前,全球最大“程序员”在线交友网站 GitHub 将 1200 多个 MySQL 服务器升级到 8.0。
再如,MySQL HeatWave 满足 OLTP、OLAP 和 ML 三种需求,支持跨数据仓库和数据湖的实时数据分析,支持生成式 AI 和向量存储。
Oracle 并不会淘汰 MySQL,而是注入新的能量,AI 时代离不开 Oracle,更离不开 MySQL。
接下来的文字,译自 Percona 的联合创始人 Peter Zaitsev, PZ 还是一系列开源初创公司的独董,如 Altinity, Ivinco, MigOps 等。
大约 15 年前,当 Oracle 收购 Sun,并因此收购 MySQL 时,互联网上关于 Oracle 何时“关闭 MySQL”的讨论很多。当时流传着多种理论,包括彻底关闭 MySQL,以减少专有 Oracle 的竞争,或者只是将其作为开源项目关闭,只留下“MySQL Enterprise”作为唯一选择。传播此类谣言对 MariaDB 和 PostgreSQL 以及其他较小的竞争对手来说都是一笔好生意,因此这些谣言传播得非常广泛。
但实际上,Oracle 最终成为了 MySQL 的优秀管理者。MySQL 团队基本保持独立,MySQL 老将 Tomas Ulin 基本掌握着主导权。MySQL 变得更加稳定和安全。许多技术债务得到了修复,并添加了许多现代开发人员想要的功能,例如支持 JSON 和对高级 SQL 标准功能的支持。
虽然有“MySQL Enterprise ”,但它真正关注的是企业需要而开发人员不太关心的功能,比如可插入式身份验证、审计、防火墙等。虽然也有专有的 GUI、监控和备份工具(例如 MySQL Enterprise Monitor),但也有很多开源和专有的竞争对手,因此并没有造成巨大的圈定。
在此期间,我经常为 Oracle 辩护,因为很多人认为 Oracle 对待 MySQL 很不好,因为……他们是 Oracle。
我认为在这段时间里,甲骨文一直在使用这个众所周知的开源成功公式:“转换永远不应该影响采用。”
然而,近年来,随着“MySQL Heatwave”(Oracle 的 MySQL 云数据库)的推出,情况发生了变化。Heatwave 包含许多 MySQL 社区版或企业版所没有的功能,例如加速分析查询或 ML 功能。
对于“分析查询”,问题尤其严重,因为 MySQL 甚至没有并行查询执行功能。在拥有数百个核心的 CPU 面市的时候,这些核心的速度并没有显著提高,这越来越限制了性能。这不仅适用于来自分析应用程序的查询,也适用于应用程序中常见的简单“group by”查询。注意:MySQL 8 确实对 DDL 提供了一些并行化支持,但对查询没有。
这是否能让人们有更多理由接受 MySQL Heatwave?或者,人们更愿意转向 PostgreSQL 或采用 Clickhouse?
向量搜索是开源 MySQL 缺乏的另一个领域。虽然其他所有主流开源数据库都增加了对向量搜索功能的支持,MariaDB 也正在努力实现这一功能,但将其作为 MySQL 生态系统中仅限云上的 MySQL Heatwave 功能至少可以说是不幸的。
然后也许是最奇怪的选择 - Javascript 支持已作为 MySQL Enterprise 独有的功能发布,而我认为 MySQL 应该尽一切努力赢得 Javascript 开发人员的青睐,其中许多人已经更喜欢 MongoDB 等更简单的数据库。
我认为所有这些都违反了上面提到的黄金法则,因为它们无疑限制了 MySQL 的采用,无论是从这些特定功能的角度来看,还是从对这种看似政策变化对 MySQL 的未来意味着什么的担忧的角度来看。
如果这还不够的话,MySQL 似乎遭受了性能工程部门多年来的忽视,与 MySQL 5.6 相比,简单单线程工作负载的性能显着下降。 你可以声称功能具有性价比,但 MariaDB 能够显着减少性能下降,PostgreSQL 甚至在添加新功能的同时提高了性能。
显然,我无权参与 Oracle 管理团队的对话,也不能说这是无知还是恶意,但过去几年的此类产品决策肯定不利于 MySQL 的采用,因为 PostgreSQL 已经大步赢得人心,并且根据 DB-Engines 的数据,它已经大大缩小了与 MySQL 的采用差距,并且根据 StackOverflow 开发者调查,它已经成为最受欢迎的开源关系数据库。
无论如何,除非 Oracle 将注意力转向现代开发人员对关系数据库的需求,否则它将扼杀它,如果不是通过行动,那么就是通过不作为!
那么,你在用什么数据库呢?或者想换成什么数据库呢?欢迎留言讨论。
🌻 往期精彩 ▼
[Oracle]
- Oracle 数据库全面升级为 23ai
- python-oracledb 已率先支持 Oracle 23ai
- 一文带你了解 Oracle 23ai 新特性 Vector 的基础用法
[MySQL]
- 「合集」MySQL 8.x 系列文章汇总
- 如何选择适合的 MySQL Connector/J 版本
- MySQL 8.4.0 LTS 发布 (MySQL 第一个长期支持版本)
[TiDB]
- 星辰考古:TiDB v1.0 再回首
- TiDB x KubeBlocks 集成案例
- TiDB v7.5.0 LTS 升级必读 | 新特性补充说明
[PG]
- 哈喽,国产数据库!Halo DB!
- 即将告别PG 12,建议升级到PG 16.3版本
- 后 EL 7 时代,PG 16 如何在 CentOS 7 上运行
– / END / –
👉 这里可以找到我
- 微信公众号:少安事务所(mysqloffice)
- 墨天轮:严少安
- ITPUB: 少安事务所
如果这篇文章为你带来了灵感或启发,就请帮忙点『赞』or『在看』or『转发』吧,感谢!(๑˃̵ᴗ˂̵)