10.7 预览功能:密码重用检查插件

默认情况下,MariaDB 不会检查用户是否重复使用密码。某些安全策略要求用户每次都选择新密码,MariaDB 10.7.0 预览版中的密码重用检查插件可启用此功能。

旧密码存储在 mysql.password_reuse_check_history 表中,它们的保留时间由 password-reuse-check-interval 系统变量决定,该变量指定天数。 默认情况下,此值为零,表示无限期保留。

该密码可以与其他密码验证插件结合使用,例如 简单密码检查插件CrackLib 密码检查插件

10.7 预览功能:CONVERT PARTITION

如果您正在使用表分区,您可能听说过 ALTER TABLE … EXCHANGE PARTITION … WITH TABLE … 命令。 它在 MariaDB 中已经存在很久了。 但是,如果您 查看手册 (任何手册) 或在网上搜索,您会发现它几乎唯一的用例是将分区转换为独立的非分区表,或者将独立的非分区表转换为分区。

而且当时的用法设计得并不明显。 要将分区转换为表,您首先需要创建一个与分区结构相同的空表,然后将其与分区交换,然后删除空分区。

10.7 预览功能:类似 Python 的字符串格式化

有时需要将来自不同列的数据合并到一个字符串中。 例如,

SELECT CONCAT(first_name, ‘ ‘, last_name) FROM employees;

这看起来还不错,但是如果您需要做比这更复杂的事情,很快就会失控。 例如,假设我们还需要在这里提及薪水

SELECT CONCAT(first_name, ‘ ‘, last_name, ‘ -‘, CAST(FORMAT(salary, 0) AS VARCHAR(10)), ‘ ‘, currency) FROM employees;

此预览展示了 MariaDB 10.7 的一项新功能,该功能是 Google Summer of Code (MDEV-25015) 的一部分,由 Alan Cueva 与他的导师 Vicențiu Ciorbaru 共同开发。

10.7 预览功能 JSON 直方图

自从 引擎无关表统计信息10.0 版本开始,MariaDB 就已经支持直方图。作为 Google Summer of Code 的一部分 (MDEV-21130),Michael Okoko 与他的导师 Sergey Petrunia 一起,为直方图实现了一种新的格式(使用 JSON),这大大提高了直方图的准确性和灵活性。对于那些只对功能细节感兴趣的人,您可以跳到“新格式”,但是,如果不熟悉直方图的用途,请继续阅读。

为什么需要统计信息

对于 WHERE 子句使用未索引列的查询,直方图非常重要。

10.7 预览功能:压缩提供程序插件

长期以来,MariaDB 一直使用可插拔的存储引擎架构,这意味着在为特定用例选择和管理正确的存储引擎方面具有很大的灵活性,这也意味着它们更容易开发,因此人们期望会创建更多的引擎。

更多的存储引擎意味着 MariaDB 服务器本身需要尽可能灵活,以适应存储引擎可能需要的所有类型的功能。事实证明,MariaDB 服务器不太受欢迎的一个领域是提供存储引擎所需的所有压缩库。

10.7 预览功能:自然排序

自然排序是指按字母顺序对字符串进行排序,同时将数字视为数字。 这种对排序的理解比机器更接近人类的理解。 您可以在 Windows 文件管理器中找到此功能的示例。 在那里,文件按自然顺序排序。 尝试创建四个文件夹“b1”、“a11”、“a2”、“a1”。

有几种编程语言具有自然排序。 在 PHP 中,它是内置函数 natsort,而在 Python 中,它是第三方模块 natsort,在 Perl 中它是 Sort::Naturally,在 Matlab 中它是 sort_nat

10.7 预览功能:UUID 数据类型

通用唯一标识符 (UUID) 已经在计算领域占据重要地位。它是一个 128 位的值,具有文本表示形式,并规定了多种版本类型,以确保唯一性,使其成为理想的数据类型。

经过多年,UUID 数据类型仅作为 MDEV-4958 中的一个功能请求存在,慢慢积累投票和关注者,我们很高兴地宣布 UUID 数据类型的预览版。与 INET6 数据类型一样,它使用 MariaDB 10.5 的数据类型插件 API。

UUID 数据类型是什么样的?

10.7.0 作为预览版本发布

现在是尝试 MariaDB Server 10.7 的新候选功能的好时机,这是 MariaDB 的下一个发布系列!这篇博客介绍了新的预览版本的工作方式,以及作为 MariaDB 用户,我们需要您提供的帮助。

挑战:更快地使 MariaDB 成熟

还记得我 两周前描述的挑战和愿景 吗?为了解决这些问题,我们启动了一项实验,并行发布 MariaDB Server 10.7 功能的多个预览版本。

这应该解决博客中提到的两个挑战:为用户提供对新功能的**早期访问**,并通过密集的**内部测试**使发布版本更快地成熟。