MariaDB 11.0 – 新的优化器,新的主版本系列

MariaDB 10.0.0 已于十多年前发布(2012 年 11 月 12 日),您可能会问自己 MariaDB 11.0.0 何时发布。如果是这样,我可以回答您:就是今天。

您现在可以从我们的专用下载页面下载 MariaDB Server 11.0 Alpha 预览版,并查看发行说明

时光荏苒……

当然,我们使用新的主版本号,不仅仅是因为已经过去了十年。更重要的是有显著的新功能。与早期版本有显著的不兼容性。或者其他一些客观原因。

……而且我们已经达到了一个重要的里程碑!

我们很高兴 MariaDB Server 达到了一个新的里程碑。此版本中的大多数更改直接源于我们的用户向我们报告的性能问题,通常表现为糟糕的查询计划。我们的社区深入参与了此版本的开发指导。

优化器的新成本模型

MariaDB 11.0 的旗舰功能是新的优化器成本模型,它能够更准确地预测每个查询执行计划的实际成本。但是,由于我们不能确定它在所有场景下都更好,因此我们提高了主版本号,以发出信号:如果某些意外的查询变慢了,请不要惊讶。

我们的三点信息

我们的核心信息有三点

  1. 社区帮助我们识别优化器问题。
  2. 我们倾听了意见,现在有了一个解决方案,使 MariaDB 的优化器与 2022 年的硬件保持一致(“硬盘”已今非昔比)。
  3. 我们希望社区开始使用此更改,并向我们提供更多**反馈**。越多越好!您可以通过jira.mariadb.org的错误报告、Zulipmaria-discussmaria-developers邮件列表与我们联系。

改进的是复杂的查询

大多数查询不受影响——特别是那些简单的查询,最多只有一个连接(join)。在 100 个查询中,可能有 10 个会使用不同的计划执行,也就是说基于表中的实际内容、行数、可用索引,以不同的顺序执行。在这 10 个受影响的查询中,我们预计有 9 或 10 个会更快。

更多内容将在后续博客中发布

成本模型的更改将在后续的博客文章中详细描述,这是一项历时 12 个多月工作的重大改进。这项工作主要由我们的创始人 Michael “Monty” Widenius 完成,并得到了 Sergey Petrunia 和 Vicențiu Ciorbaru 的大力支持。

10.11 和 11.0 之间的不兼容性

10.11 和 11.0 之间也存在一些不兼容性,我们将在适当时候列出并在博客中进行介绍。我们一直想实现这些更改,但如果不更改主版本号就无法引入它们。

重新审视重新编号的标准

由于所谓的新功能和不兼容性重要性的“客观”标准并非黑白分明,我们将重新审视我们重新编号第一个版本的标准。可以肯定地说,我们确实希望您能在现在起的 10 年内(2032 年)之前看到 MariaDB 12.0.0。欢迎提供见解和评论!

最重要的是:好消息——性能提升!

总而言之,我们认为有充分的理由下载 MariaDB 11.0 并检查您的查询是否运行得更快。特别是对于那些一直使用 FORCE INDEX 来通过向优化器提供使用哪个计划的提示来提高执行速度的用户。

体验“数值达到十一”

附注:对于英国流行文化和/或虚构重金属乐队Spinal Tap的爱好者:期待您体验 MariaDB Server 的AMP 达到 11

链接