MariaDB 在 2021 年
在 Vettabase,我们支持各种数据库,特别是我们是 MariaDB 的狂热爱好者。更重要的是,我们很自豪能成为 MariaDB Foundation 技术合作伙伴。因此,我很高兴能写这篇关于 MariaDB Foundation 2021 年公共活动的小总结!开始前先声明一下:这不是官方回顾,而是主观的、带有个人观点的。我的观点仅代表我个人。以下是我认为 2021 年 MariaDB 世界中最重要的消息……
MariaDB 10.6 于 11 月正式发布(我在 Vettabase 网站上写了一篇总结)。移除了一些不再维护的存储引擎,以及 23 个 InnoDB 变量。这是好事:清理有助于使代码更易于维护。此外,MariaDB 10.6 还引入了
- 原子 DDL:CREATE、DROP、ALTER 语句现在是崩溃安全的!
- 更多针对 Galera 和复制的 performance_schema 表
- InnoDB:第一次向空表插入数据更快,并且写入临时表空间的操作被延迟
- SKIP LOCKED
- FETCH ROWS WITH TIES
- MariaDB 终于有了 sys schema
今年,MariaDB 10.7 和 10.8 分别正式发布和进入预览阶段。但在谈论它们之前,我想提一下新的 MariaDB 发布模型。新模型正用于这些版本,由 Kaj Arnö 在文章 MariaDB 宣布新的创新发布模型 中宣布。我建议阅读 Kaj 的文章以了解详细信息和动机,但基本上 MariaDB 采用了这种新模型,它在发布候选版本之前会发布其主要新功能的预览版。每个重要功能都有一个单独的预览版:一个 git 分支和一个二进制文件。我们可以在功能正式发布之前测试我们需要的功能,并通过常见方式提供反馈:bug 报告、邮件列表、Slack 等。根据我的经验,MariaDB 团队总是乐于听取反馈。
Daniel Black 还宣布了新的 MariaDB Quay.io 容器。推送到 MariaDB 稳定分支的新代码会进入这些容器,使我们能够在官方版本发布之前对其进行测试。这个想法在我看来非常类似于亲爱的旧式 夜间构建,但将更改作为容器发布使得测试更快、更容易。新的发布模型和 Quay.io 容器走向同一个方向:更频繁地发布代码,并使社区测试更容易。
现在,回到 MariaDB 分支引入的技术更改。MariaDB 10.7,目前是候选发布版,引入了一些我非常喜欢的功能
- 对于 ASCII 超集,在使用 ASCII 字符时性能得到改进
- 数据压缩现在委托给压缩插件
- UUID 数据类型和 SYS_GUID()
- 自然排序,用于按文件或版本号等方式排序字符串,这种方式不会受益于纯字母顺序
- JSON_NORMALIZE() 和 JSON_EQUALS()
- InnoDB:向空表批量插入数据性能得到改进
最后,这是我在 MariaDB 10.8 中最喜欢的功能列表
- 无延迟 ALTER TABLE 复制:ALTER TABLE 的开始和结束现在写入二进制日志
- JSON 直方图
- ASC 和 DESC 索引
- InnoDB:redo 日志更改
在这里,我想重点介绍代码和发布模型中的好消息。但 MariaDB Foundation 和 MariaDB 团队在 2021 年做的远不止这些,我至少还需要提及自疫情开始以来他们举办的几次 MariaDB MiniFests。可以在基金会的 YouTube 频道上找到过去几届精彩的讲座。再次声明:这只是对我来说最重要的事情的回顾。
感谢 MariaDB Foundation 和 MariaDB 在 2021 年做出的出色工作!相信在 2022 年我们也会看到更多美好的事情发生!
Federico Razzoli
Vettabase 创始人