MySQL 和 MariaDB 的数据库服务器生命周期
在这篇博文中,我们将研究 MySQL 和 MariaDB 服务器的生命周期和发布管理——我们现在所处的位置以及相关的历史背景。
值得注意的是 MySQL 和 MariaDB 都有社区版和企业版。对于 MySQL,这两个版本均由同一家公司 (Oracle) 制作,遵循相同的版本编号,并且企业版是社区中可用版本的超集。对于MariaDB,社区版由MariaDB基金会提供,而企业版由MariaDB PLC提供,遵循自己的生命周期,并且具有不同的功能集。为了简单起见,我们将重点关注社区版本。
MariaDB
您可能很清楚,MariaDB 最初是 MySQL 的一个分支,在早期,情况非常相似。早在 2014 年,当MariaDB 10发布时,事情就开始出现明显的分歧。这与匹配的 MySQL 版本不同,就像 MySQL 5.1 和 MySQL 5.5 中发生的情况一样。
跟踪自己的版本使 MariaDB 能够以自己(更快)的速度进行创新,而不会混淆用户,这些用户由于共享根而期望同一版本的 MySQL 和 MariaDB 具有某种兼容性。(值得注意的是,MariaDB 5.2 和 MariaDB 5.3 也存在,但没有匹配的 MySQL 版本。)
MariaDB 开始快速发展。MariaDB 10.1于2015年发布,MariaDB 10.2于2017年发布;此后,每隔一到两年就会发布一次主要版本,MariaDB 10.6 于 2021 年发布。然而,这种快速的开发速度加上对所有版本五年的长期支持,这意味着许多需要维护的版本造成了不必要的负担。工程团队的负担。
为了解决这一负担,新的创新版本模型于 2021 年底推出,类似于 Ubuntu Linux 的开发方式——季度版本仅维护一年,同时有选定的长期支持版本,这些版本的支持时间为和以前一样至少五年了。短期和长期支持版本遵循相同的版本模式,您确实需要知道哪个是哪个。
此外,MariaDB 最近将领先版本从 10 更改为 11。正如 Kaj Arno 所解释的那样,对Optimizer 及其成本模型进行昂贵的更改是此更改的主要原因。
MariaDB 11 系列尚未有任何长期支持 (LTS) 版本,这是在生产中运行任务关键型数据库时大多数人会考虑的版本。最新的长期支持 (LTS) 版本是MariaDB 10.11,支持截止日期为 2028 年 2 月。
MySQL
在Oracle的领导下,起初,MySQL继续遵循它一段时间以来所遵循的生命周期。每隔几年,就会有功能版本,然后会有二进制兼容的“仅修复错误”的小版本。MySQL 5.5、MySQL 5.6 和 MySQL 5.7 就是这种情况。
这个发布周期的好处是稳定;次要版本升级的风险相当低,如果您需要回滚,您可以通过快速交换二进制文件来完成,而不需要对数据执行任何操作。然而,与所有事情一样,都需要权衡——这种方法的缺点是新功能的推出缓慢以及主要版本之间的巨大变化,使得升级可能变得混乱且耗时。
在 MySQL 8 中,这种方法发生了巨大的变化。MySQL 8 看起来像是一个“永久版本”。虽然最初的 GA 版本于 2018 年 4 月发布,但我们已经五年没有看到新的主要版本了!这并不意味着 MySQL 8 没有创新;相反,现在的 MySQL 8 与 2018 年发布的版本有很大不同,因为在每个小版本中,都会引入新功能并修复错误。
如果您喜欢更快地获得新功能,您一定会喜欢这种新方法。从理论上讲,这也意味着这些“功能版本”升级的风险较小,与过去主要版本需要数年的工作相比,这些升级只需要几个月的开发工作。然而,实际情况并非如此,因为某些版本包含新功能,其中的错误足以导致版本召回。更糟糕的是,MySQL 8 还只维护了前滚二进制兼容性,因此一旦升级到新的 MySQL 版本,无法保证以前的版本能够操作相同的数据。
虽然花了一段时间,但 MySQL 团队认识到 MySQL 8 方法不是您只需要习惯的方法,而是不适用于某些数据库环境的方法;因此,接下来将引入新的发布模型。该模型引入了“创新版本”,大约每季度发布一次,并且仅支持最新的创新版本(即,任何错误修复都将与新功能一起推出,并作为下一个创新版本推出,类似于 MySQL 8.0 现在的运行方式)。另一种版本是长期支持 (LTS) 版本,该版本每隔几年发布一次,并由 Oracle 支持八年(五个标准版本 + 三个扩展版本)。
MySQL LTS 版本的运行方式与 MySQL 8 之前的 MySQL 运行方式类似。创新版本有点类似于 MySQL 团队在某些时候使用的“里程碑版本”,但里程碑版本不被视为“生产就绪”,而是用于开发和预览版、创新版被视为“生产级质量”。
MySQL 8.0 在此版本模型中占有特殊的地位。目前,它基本上是一个创新风格版本,但随着 MySQL 8.0.34,它将成为仅修复错误的 LTS 版本。
MySQL 和 MariaDB 方法之间的差异
有趣的是,两个社区似乎都认识到我们既需要高速创新又需要稳定。您也不能在同一个发行系列中真正同时拥有这两种方式。您还需要控制支持和维护成本;因此,您不能拥有太多积极支持的版本。
MariaDB 和 MySQL 都得出结论,他们需要同时注重创新速度的 LTS 版本和版本。
MySQL 和 MariaDB 的 LTS 发布节奏也可能相似。MySQL 预计 LTS 版本大约每两年发布一次,这与 MariaDB 类似,“至少每隔一年”发布一次。不同之处在于,MariaDB 还与主要 Linux 发行版合作,使 MariaDB LTS 版本与 Linux 发行版 LTS 发行计划保持一致,而 MySQL 没有声明任何此类目标。
存在差异的地方在于非 LTS 版本的处理方式。当在有限时间内发布“仅修复错误”的版本时,MariaDB 会选择“短期支持”路线,而 MySQL 选择支持滚动创新版本的路径,其中错误修复仅包含在最新的创新版本中。看看这些选择如何发挥作用将会很有趣——MariaDB 方法更加“用户友好”,因为它使用户可以更好地控制何时升级到下一个功能版本,而 MySQL 方法减少了支持版本所需的工作。
另一个重要的区别是支持什么类型的升级。MySQL 仅支持升级到下一个主要版本(即,您不能直接从 MySQL 5.6 升级到 MySQL 8),而 MariaDB 支持在升级中跳过主要版本。
Percona 计划
当您在 Percona 博客上阅读本文时,您可能对 Percona 的Percona Server for MySQL计划有关已宣布的更改感兴趣。简短的回答是,我们将遵循新宣布的创新版本模型,并将发布 LTS 和创新版本。有关更多详细信息,请查看博客文章Percona Server for MySQL 的 LTS 和创新版本(https://www.percona.com/blog/lts-and-innovation-releases-for-percona-server-for-mysql/)。
Percona Distribution for MySQL 是目前最完整、稳定、可扩展且安全的开源 MySQL 解决方案,为您最关键的业务应用程序提供企业级数据库环境......并且免费使用!
文章来源:https://www.percona.com/blog/database-server-lifecycle-for-mysql-and-mariadb/
免责声明:
1、本站资源由自动抓取工具收集整理于网络。
2、本站不承担由于内容的合法性及真实性所引起的一切争议和法律责任。
3、电子书、小说等仅供网友预览使用,书籍版权归作者或出版社所有。
4、如作者、出版社认为资源涉及侵权,请联系本站,本站将在收到通知书后尽快删除您认为侵权的作品。
5、如果您喜欢本资源,请您支持作者,购买正版内容。
6、资源失效,请下方留言,欢迎分享资源链接
文章评论