MariaDB 10.6 稳定版

经过一年的开发和三个初步版本,MariaDB 10.6 DBMS新分支的第一个稳定版本已经发布,其中正在开发MySQL分支,保持向后兼容性,并通过集成额外的存储引擎来区分和先进的能力。将为新分支机构提供为期 5 年的支持,直至 2026 年 XNUMX 月。

MariaDB的开发由独立的MariaDB基金会监督,遵循独立于各个供应商的完全开放和透明的开发流程。 MariaDB 在许多 Linux 发行版(RHEL、SUSE、Fedora、openSUSE、Slackware、OpenMandriva、ROSA、Arch Linux、Debian)中作为 MySQL 的替代品提供,并已在 Wikipedia、Google Cloud SQL 和 Nimbuzz 等大型项目中实施。

MariaDB 10.6 的主要改进:

  • 确保表达式“CREATE TABLE|VIEW|SEQUENCE|TRIGGER”、“ALTER TABLE|SEQUENCE”、“RENAME TABLE|TABLES”、“DROP TABLE|VIEW|VIEW|TRIGGER|DATABASE”的原子执行(表达式是完全完成或一切都恢复到原来的状态)。在一次删除多个表的“DROP TABLE”操作的情况下,在每个单独的表级别确保原子性。更改的目的是确保在操作期间服务器崩溃时的完整性。以前,崩溃后,临​​时表和文件可能会保留,存储引擎中的表和 frm 文件的同步可能会中断,并且当多个表同时重命名时,单个表可能会保持未重命名状态。通过维护状态恢复日志来确保完整性,可以通过新选项“—log-ddl-recovery=file”(默认为 ddl-recovery.log)确定该日志的路径。
  • 实现了 SQL 2008 标准中定义的“SELECT ... OFFSET ... FETCH”结构,允许您显示从指定偏移量开始的一定数量的行,并能够使用“WITH TIES”参数来显示附加另一个下一个值。例如,表达式“SELECT i FROM t1 ORDER BY i ASC OFFSET 1 ROWS FETCH FIRST 3 ROWS WITH TIES”与结构“SELECT i FROM t1 ORDER BY i ASC LIMIT 3 OFFSET 1”的不同之处在于在尾部多输出一个元素(而不是输出 3 4 行)。
  • 对于InnoDB引擎,已经实现了“SELECT ... SKIP LOCKED”语法,它允许您排除无法设置锁的行(“LOCK IN SHARE MODE”或“FOR UPDATE”)。
  • 已经实现了忽略索引的功能(在 MySQL 8 中,此功能称为“不可见索引”)。使用 ALTER TABLE 语句中的 IGNORED 标志将索引标记为忽略,此后索引保持可见并更新,但优化器不使用。
  • 添加了 JSON_TABLE() 函数以将 JSON 数据转换为关系形式。例如,可以转换 JSON 文档以在表的上下文中使用,该表可以在 SELECT 语句的 FROM 块内指定。
  • 改进了与 Oracle DBMS 的兼容性:添加了对 FROM 块内匿名子查询的支持。 MINUS 构造已实现(相当于 EXCEPT)。添加了 ADD_MONTHS()、TO_CHAR()、SYS_GUID() 和 ROWNUM() 函数。
  • 在InnoDB引擎中,插入空表的速度已经加快。 COMPRESSED 字符串格式默认设置为只读模式。 SYS_TABLESPACES方案取代了SYS_DATAFILES并直接反映文件系统中的状态。为临时表空间提供了延迟写入支持。对旧校验和算法的支持已停止,该算法是为了与 MariaDB 5.5 兼容而保留的。
  • 在复制系统中,master_host参数值的大小从60增加到255个字符,master_user增加到128。添加了binlog_expire_logs_seconds变量,用于配置二进制日志的过期时间,以秒为单位(之前重置时间为仅通过 expire_logs_days 变量以天为单位确定)。
  • Galera同步多主复制机制实现了wsrep_mode变量来配置WSREP(Write Set REPlication)API参数。允许在不停止集群的情况下将 Galera 从未加密通信转换为 TLS。
  • sys-schema 模式已经实现,它包含用于分析数据库操作的视图、函数和过程的集合。
  • 添加了用于分析复制性能的服务表。
  • INFORMATION_SCHEMA.KEYWORDS 和 INFORMATION_SCHEMA.SQL_FUNCTIONS 视图已添加到信息表集中,显示可用关键字和函数的列表。
  • TokuDB 和 CassandraSE 存储库已被删除。
  • utf8 编码已从四字节表示形式 utf8mb4 (U+0000..U+10FFFF) 移至三字节 utf8mb3(涵盖 Unicode 范围 U+0000..U+FFFF)。
  • 在 systemd 中添加了对套接字激活的支持。
  • GSSAPI 插件添加了对 Active Directory 组名称和 SID 的支持。
  • 除了 $MYSQL_HOME/my.cnf 之外,还添加了对配置文件 $MARIADB_HOME/my.cnf 是否存在的检查。
  • 新的系统变量 binlog_expire_logs_seconds、innodb_deadlock_report、innodb_read_only_compressed、wsrep_mode 和 Innodb_buffer_pool_pages_lru_freed 已实现。

来源: opennet.ru

添加评论