千家信息网

What's New in MariaDB 10.4

发表于:2024-11-22 作者:千家信息网编辑
千家信息网最后更新 2024年11月22日,MariaDB 10.4是其当前的开发分支。 5月21日,10.4.5的RC release版本发布,距离正式版本发布越来越近。10.4的新特性也越来越值得关注。本文总结mariadb官方发布一些的博
千家信息网最后更新 2024年11月22日What's New in MariaDB 10.4

MariaDB 10.4是其当前的开发分支。 5月21日,10.4.5的RC release版本发布,距离正式版本发布越来越近。10.4的新特性也越来越值得关注。本文总结mariadb官方发布一些的博客内容。对应详细信息,可以细读MariaDB 10.4的changelog:https://mariadb.com/kb/en/library/mariadb-1040-changelog/

性能提升

由于字节长度的关系,通常情况下Unicode字符集的性能比其他字符集比如latin1低。MySQL8.0在这方面有了很大改进。在这方面,MariaDB 10.4比10.3也快很多。现在人们越来越喜欢使用emojis图,这些图需要utf8字符集进行存储,所以这是一个相当重要的改进。由于现在可以将条件下推到物化子查询中,所以MariaDB 10.4在IN()子查询中效率更高。

依赖于redo log的大小,启动和关闭InnoDB会花费一段时间。MariaDB对启动、关闭、purge进行了改进。鉴于mariabackup和xtrabackup热备工具的普及,这些改进尤为重要。最终,这些工具涉及InnoDB shutdown(回放redo log时)到启动恢复,因此这些领域的改进大大减少了转储备份的时间。

InnoDB改进

MariaDB 10.4已经可以进行瞬时DROP CLOLUMN操作。不需重新构建表,可以对表的列重新排序。我们不能强调这是多么重要。你可能想知道在生产环境中最常见的操作是什么?添加和删除索引尤为重要。另外一个常见操作时添加新列或者删除索引。目前为止,最常用的方法是使用外部工具进行操作:pt-online-schema-change或gh-ost。两个工具都有限制(比如,gh-ost不能在Galera Cluster中使用)。尤其棘手的是表具有外键时也会有很大限制。瞬时ADD COLUMN已经可用,通过瞬时DROP COLUMN,schema可以进行更改。这些瞬时操作也是我们所需。像创建索引,schema可以进行非阻塞更改,但是当使用复制时,这些操作有了很大挑战。因此即使在生产环境中可以执行这些操作,我们建议还是使用pt-online-schame-change。

Varchar列的扩展将变得更快,非索引列上额外字符集和排序规则的改变也将成为瞬时操作。

一般性改变

另外一个最大的改变在用户管理方面。mysql.host表不再使用并不再创建。用户的账户和全局权限将存到mysql.global_priv表中。对于通过选项管理MySQL和MariaDB用户的工具来说,这些改变很重要。10.4之前的版本,需要重写涉及用户管理的案例。我们承认确实需要改动这些地方,但是这对于维护MariaDB和MySQL工具来说毫无帮助。在用户管理方面,MariaDB 10.4有一个选项控制过期用户密码。这绝对是向好的方向迈开重要的异步----有助于更好的实施密码管理。

最后,10.4版本中,可以设置sql_mode=MSSQL。这是一个初始实现,但在某点上sql_mode=ORACLE 也是初始实现。这表明了MariaDB对企业用户的关注--随着新增越来越多的特性和迁移问题越来越少,越来越多的用户可以从Oracle或Microsoft SQL Server 迁移到MariaDB。

MariaDB分支

最近看到一篇博客解释MariaDB在InnoDB改进和兼容性方面的观点。主要是MariaDB不再从MySQL合入InnoDB新特性,将关注稳定性和性能的提升。也就是说MariaDB不再兼容MySQL。像mysqldumper/mysqlloader逻辑备份工具将成为迁移的唯一工具。庆幸的是,MariaDB有能力维护他自己的InnoDB分支。

性能方面,从历史数据上看,MariaDB集成的InnoDB性能有所提升。

对用户来说,MariaDB10.4将比之前的release版本更加稳定。这也意味着,我们需要学习两种不同的存储引擎内核--尤其是性能方面的改动。需要开发工具支持InnoDB不同版本。我们会关注这方面的进程。随着引入越来越多不兼容的特性以及mysql8.0的很大改动,关注开发的新功能才有意义而不是兼容MySQL。

原文

https://severalnines.com/blog/whats-new-mariadb-104

0