0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MySQL和MariaDB版本管理的历史背景及差异

OSC开源社区 来源: OSCHINA 社区 2023-08-29 10:24 次阅读

来源 | OSCHINA 社区

作者 | 爱可生开源社区

在本文中,我们将探讨 MySQL 和 MariaDB 服务生命周期和版本管理方式两个方面目前的状况及相关历史背景。

需要说明的是 MySQL 和 MariaD B 都有社区版和企业版。对于 MySQL,这两个版本都是由同一家公司Oracle)提供,遵循相同的版本编号体系,企业版包含更丰富的功能。对于 MariaDB,社区版由 MariaDB 基金会提供,而企业版由 MariaDB PLC 提供,采用独有的生命周期 与功能配置。为简单起见,我们将重点关注社区版。

MariaDB

你可能了解到,MariaDB 起初是 MySQL 的一个分支。早期。两者发展模式相似。但从 2014 年 MariaDB 10 版开始,情况大为不同。这一次,MariaDB 不再与 MySQL 版本匹配,从而抛弃了之前与 MySQL 5.1 和 MySQL 5.5 版本一致的模式。

获得独立的版本体系允许 MariaDB 以更快的节奏独立创新,而不会因为与 MySQL 版本号相同而产生用户误导。例如,MariaDB 曾经有 5.2 和 5.3 两个版本,但 MySQL 没有对应的版本号。

MariaDB 发展迅速。紧接着 2015 年发布了 MariaDB 10.1 版本,2017 年发布了 MariaDB 10.2 版本。此后,主版本每个 1-2 年发布一次,2021 年发布了 MariaDB 10.6 版。不过,每一个版本都提供 5 年的长期支持期限,这给工程团队带来了额外负担。

为了解决这个问题,MariaDB 从 2021 年底开始实施 “创新版模型”。与 Ubuntu Linux 发布模式类似,每个季度发布一个短期支持版本(支持 1 年),同时还会选择性发布 LTS 版本(至少 5 年)。短期支持版本和长期支持版本遵循相同的版本编号方式。

最近,MariaDB 也将主版本从 10 改为 11。产品经理 Kaj Arno 解释说,这主要是计划对优化器及其成本模型进行复杂修改所致。目前新 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 8 发布方式的问题;因此,接下来将引入新的发布模型。该模型引入了 Innovation 版本,大约每季度发布一次,并且仅支持最新的创新版本(即,任何错误修复都将与新功能一起推出,并作为下一个创新版本推出,类似于 MySQL 8.0 现在的运行方式)。另一种版本是 LTS 版本,该版本每隔几年发布一次,并由 Oracle 支持 8 年(5 年标准 + 3 年扩展)。

MySQL LTS 版本的运行方式与 MySQL 8 之前的 MySQL 运行方式类似。 创新版本有点类似于 MySQL 团队在某些时候使用的 “里程碑版本”,但里程碑版本不被视为 “生产就绪”,而是用于开发和预览版、创新版被视为 “生产级质量”。

MySQL 8.0 在此版本模型中占有特殊的地位。目前,它基本上是一个创新风格版本,但随着 MySQL 8.0.34 的发布,它将成为仅修复错误的 LTS 版本。

差异

有趣的是,两个社区似乎都认识到我们 既需要高速创新又需要稳定,但也不能在同一个发行系列中真正同时拥有这两种方式。还需要控制支持和维护成本;因此,不能拥有太多积极支持的版本。

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 支持在升级中跳过主要版本。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    10990

    浏览量

    206738
  • 开源
    +关注

    关注

    3

    文章

    2989

    浏览量

    41720
  • MySQL
    +关注

    关注

    1

    文章

    775

    浏览量

    26006

原文标题:MySQL和MariaDB版本管理的历史背景及差异

文章出处:【微信号:OSC开源社区,微信公众号:OSC开源社区】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    手把手教你入门MySQL零基础入门教程!

    和DCL第6节 SQL语句课堂实践精确授权优先第7节 复习MySQL基础第8节 破解MariaDB 5.5 root密码第9节 MySQL备份的分类和备份的两大要素第10节 Innodb存储引擎的
    发表于 06-15 13:20

    MySQL零基础入门教程!

    和DCL第6节 SQL语句课堂实践精确授权优先第7节 复习MySQL基础第8节 破解MariaDB 5.5 root密码第9节 MySQL备份的分类和备份的两大要素第10节 Innodb存储引擎的
    发表于 06-17 14:54

    干货分享:MySQL零基础入门视频教程!

    干货分享:MySQL零基础入门视频教程!首先给大家介绍一下数据库工程师,数据库工程师(Database Engineer),是从事管理和维护数据库管理系统(DBMS) 的相关工作人员的统称,他属于运
    发表于 06-22 14:22

    0基础学Mysql:mysql入门视频教程!

    DDL语句第5节 SQL语句之DML语句和DCL第6节 SQL语句课堂实践精确授权优先第7节 复习MySQL基础第8节 破解MariaDB 5.5 root密码第9节 MySQL备份的分类和备份的两大
    发表于 07-08 10:51

    mysql零基础入门视频教程免费分享!

    本帖最后由 x910378112 于 2017-7-14 10:53 编辑 mysql零基础入门视频教程免费分享! MySQL是一个关系型数据库管理系统,由瑞典MySQL AB
    发表于 07-13 11:08

    干货分享:MySQL零基础入门视频教程

    、 SQL语句课堂实践精确授权优先七、 复习MySQL基础八、 破解MariaDB 5.5 root密码九、 MySQL备份的分类和备份的两大要素十、 Innodb存储引擎的版本级别十
    发表于 07-27 13:57

    手把手教你入门MySQL零基础入门教程!

    7节 复习MySQL基础第8节 破解MariaDB 5.5 root密码第9节 MySQL备份的分类和备份的两大要素第10节 Innodb存储引擎的版本级别第11节 二进制日志实现实时
    发表于 07-29 10:17

    免费分享: MySQL零基础入门教程!

    第6节 SQL语句课堂实践精确授权优先第7节 复习MySQL基础第8节 破解MariaDB 5.5 root密码第9节 MySQL备份的分类和备份的两大要素第10节 Innodb存储引擎的版本
    发表于 08-11 09:56

    MySQL零基础入门视频教程!

    百度云盘分享:MySQL零基础入门视频教程!首先给大家介绍一下数据库工程师,数据库工程师(Database Engineer),是从事管理和维护数据库管理系统(DBMS) 的相关工作人员的统称,他
    发表于 08-13 11:39

    全球唯一:MySQL社区2018年度公司贡献奖颁给阿里云

    的自定义逻辑回滚,以轻松应对在 MySQL 上的误操作,降低运维风险。FlashBack 可以在 Aliyun RDS MySQL 公有云上使用,并在社区版本 MariaDB 10.
    发表于 04-25 11:51

    如何在NAS网络存储上安装使用My SQL数据库?

    `你可以在TOS 中安装My SQL 服务器,以便你通过My SQL 高效的管理你的数据。TOS 应用中心提供的My SQL 服务器版本MariaDB,这是一个被广泛使用的数据库。1.单击桌面
    发表于 04-21 17:08

    navicat for mysql使用方法

    Navicat for MySQL 是一套管理和开发 MySQLMariaDB 的理想解决方案,支持单一程序,可同时连接到 MySQL
    发表于 12-26 11:54 1.3w次阅读
    navicat for <b class='flag-5'>mysql</b>使用方法

    MariaDBMySQL本质的区别详细资料概述

    MariaDBMySQL源代码的一个分支,在意识到Oracle会对MySQL许可做什么后分离了出来(MySQL先后被Sun、Oracle收购)。除了作为一个
    的头像 发表于 06-18 12:53 5623次阅读

    MariaDB有哪些比MySQL厉害的地方?

    近年来,不少程序员在吹捧 MariaDB,抛弃 MySQL。本文总结了一些 MariaDB 强过 MySQL 的地方,分享给大家! MySQL
    的头像 发表于 03-11 16:21 1381次阅读
    <b class='flag-5'>MariaDB</b>有哪些比<b class='flag-5'>MySQL</b>厉害的地方?

    基于树莓派的开源库存管理系统和MySQL数据库

    我准备使用 Raspberry Pi 设置一个用 PHP 编写的开源库存管理系统和 MySQL 数据库。用 PHP 编写的带有 MySQL/MariaDB 数据库的开源库存
    发表于 12-19 16:58 0次下载