对于新兴技术而言,社区管理并不难。经过 29 年的发展,MySQL 已成为全球数百万用户最常使用和最信赖的开源数据库之一。管理如此规模的社区可能非常复杂。我们努力在稳定性和创新性之间找到平衡,为客户提供稳定且可预测的平台,并为技术用户创建新功能。Oracle 通过投资于工程、社区和市场对该技术的采用,持续提供对 MySQL 社区的管理和领导。
作者:Frederic Descamps,EMEA 和亚太地区的 MySQL 社区经理。于 2016 年 5 月加入 MySQL 社区团队。担任开源和 MySQL 顾问已超过 15 年。最喜欢的主题是高可用和高性能。
本文和封面来源:https://blogs.oracle.com/,爱可生开源社区翻译。
本文约 1800 字,预计阅读需要 6 分钟。
引言
对于新兴技术而言,社区管理并不难。经过 29 年的发展,MySQL 已成为全球数百万用户最常使用和最信赖的开源数据库之一。管理如此规模的社区可能非常复杂。我们努力在稳定性和创新性之间找到平衡,为客户提供稳定且可预测的平台,并为技术用户创建新功能。Oracle 通过投资于工程、社区和市场对该技术的采用,持续提供对 MySQL 社区的管理和领导。
这里是一些例子,可以帮助你理解 MySQL 如何在不断扩展的应用中技术进步。近期,随着 MySQL 全新版本 9.0 的发布,现在是回顾并看看自八年前首次发布以来,MySQL 8 已经取得了多少成就的好时机。
Oracle 继续在 MySQL 上进行大量投资,包括社区版、企业版和云版。实际上,许多人并不知道 MySQL 社区版是 MySQL 的核心,也是我们的企业版和云解决方案的来源。MySQL与 HeatWave 协同工作。当 MySQL 通过新功能或错误修复得到改进时,HeatWave 也会持续地得到改进。而当 MySQL 需要为 HeatWave 数据库服务进行修改或更正时,这些代码也会进入 MySQL,社区版就会从这些 HeatWave 的创新中受益。当然,我们的云服务由于技术原因与本地版本有所不同,我们很快就会介绍这些原因,并且出于明显的商业原因,以使我们与竞争对手区别开来。
记住,开发 MySQL 和我们的云服务(HeatWave)的是同一组工程师团队!MySQL 并没有三个不同的分支。这里有社区版的 MySQL,然后是一些为 MySQL 企业版构建的额外组件和外部产品,最后是 HeatWave,它不仅仅是 MySQL(包括分析、数据湖、机器学习、通用人工智能),所有的魔力都在云端发生,在特定的优化机器上作为 MySQL 的次要引擎。
MySQL 8.0 的成果
以下是 MySQL 8 周期内取得成果的简短总结:
8.0 版本来自社区的 467 项贡献(其中 422 项被接受)。
大型公司正在使用 MySQL,甚至为其做出贡献,例如对于 8.0 版本,我们收到了:
- 来自 Meta(之前称为 Facebook)的 58 项贡献
- 来自 Booking.com 的 29项 贡献
- 来自腾讯的 17 项贡献
新功能包括:
- 为 JSON 引入了新的数据类型及其相关所有功能
- 即时 DDL(由腾讯游戏提出的贡献)
- 二进制日志压缩
- 新的 InnoDB Redo Log 设计
- 移除冒犯性术语
- 安全认证插件
- 新的火山迭代器执行器用于优化器(引入了 EXPLAIN ANALYZE)
- Hash Join
- CLONE 插件
- SQL 的巨大飞跃(窗口函数、公用表表达式 CTE、JSON_TABLE、横向表引用 LATERAL 等)
- 复制连接自动故障转移
- 并行 InnoDB DDL 线程
- 隐形索引和列
- GIPLK 模式
- 代码中的遥测指标
- …等等!
别忘了为本地架构所提供的 MySQL Shell 的 AdminAPI(MySQL ReplicaSet, InnoDB Cluster, InnoDB ClusterSet, 只读副本)和 Router。别忘了透明的读写分离,这是一个期待已久的特性,最近已经发布。
听取我们社区用户和客户的反馈后,我们还修改了我们的发布周期,以采纳并支持 MySQL LTS(长期支持)。这也是我们工程团队的巨大努力,我们还处理了与错误修复、性能回归等相关的常见挑战…
针对安全性、稳定性以及云和多云环境的准备的修复:
- MySQL 团队(验证、开发、文档)处理了 MySQL 8 的 16,841 个错误,并修复了其中的 15,894个!(其余的不是错误、重复的、仍在处理中…)
- 完成了 288 个工作日志,用于 LTS 发布。
- 我们回滚了一些 C API 中的更改,并与 Ubuntu 团队紧密合作,使他们能够包含 MySQL 8.4 LTS。
- 团队为 8.4 LTS 修复了 11 个性能回归问题。
社区
所有这些改进和新特性的核心是 MySQL 社区。许多这些创新也是我们与客户和社区用户的合作共同推动的。例如,双重密码支持的实现是应 Booking.com(以及许多其他请求)的要求。
我们在云服务中也做同样的事情。当这些错误在我们的服务中出现并且可以在我们客户的特定负载下复现时,当然,这些修复也会推送到社区版。我们的团队甚至在客户注意到之前就发现了错误,并且我们修复了它们。MySQL Heatwave 服务有中间的小版本发布来处理这些错误。
例如,与多值索引表运行查询相关的错误,这有时会迫使服务器意外退出,通常在执行使用此索引的复杂 SELECT 查询时,是由我们云服务运维团队发现的,并在 8.0.37 和 8.4.0 中修复。我们最近发现并修复了一打这样的错误,这些错误是在云中发现的,而不是由客户或社区用户报告的。
MySQL 用户组在世界各地都很活跃,MySQL 社区团队支持他们找到地点、演讲者和讨论主题,并帮助推广和发展他们的社区。
我们在 Oracle ACE 计划中创建了一个专业化类别,以表彰 MySQL 社区的成员。该计划奖励并推广个人对 Oracle 社区的个人贡献。
社区团队通过 MySQL Rockstars Awards 表彰卓越。该奖项授予在过去一年中为推广 MySQL 做出工作、热情和能量贡献的社区成员。
MySQL 社区团队还定期举办北美和比利时峰会。
Oracle 对 MySQL 的承诺和投资是巨大的,它平衡了客户对稳定性的渴望和工程师对创新及新特性的渴望。我们继续致力于保护平台、修复错误、增强性能,并为多云环境做好准备,以确保互操作性和选择性。
我们期待听到您,MySQL 社区,关于 8.0 版本中您最喜欢的创新。我们努力在稳定性和创新之间找到平衡,为客户提供一个稳定和可预测的平台,并为技术用户创造新特性。
通过我们在工程、社区和技术采用方面的持续投资,Oracle 对 MySQL 社区的管理和领导将确保 MySQL 在未来几代人中的成功。
我们社区重要性的另一个证明是 7 月 23 日发布的最新版本。这是一个非周期性发布,解决了社区用户报告的一个重大错误。请升级到 8.0.39、8.4.2 或 9.0.1。