MariaDB 10.5 稳定版

经过一年的开发和四次预发布 准备好的 新 DBMS 分支的第一个稳定版本 玛丽亚数据库10.4,其中正在开发 MySQL 的一个分支,以保持向后兼容性和 不同的 集成附加存储引擎和高级功能。 将为新分支机构提供为期 5 年的支持,直至 2025 年 XNUMX 月。

MariaDB的开发由独立的MariaDB基金会监督,遵循独立于各个供应商的完全开放和透明的开发流程。 在许多 Linux 发行版(RHEL、SUSE、Fedora、openSUSE、Slackware、OpenMandriva、ROSA、Arch Linux、Debian)中,MariaDB 代替 MySQL 提供,并已在以下大型项目中实施: 维基百科上的数据, 谷歌云 SQL и Nimbuzz.

钥匙 改进 玛丽亚数据库10.5:

  • 添加存储引擎 S3,它允许您在 Amazon S3 或支持 S3 API 的任何其他公共或私有云存储上托管 MariaDB 表。 支持将常规表和分区表放置在 S3 中。 当分区表放置在云中时,可以直接使用它们,包括从有权访问 S3 存储的另一台服务器上使用它们。
  • 添加存储引擎 列存储,它存储绑定到列的数据并使用 大规模并行 分布式架构。 该引擎是基于MySQL存储开发的 无限数据库 旨在组织对大量数据(数据仓库)的分析查询的处理和执行。
    ColumnStore 不是按行而是按列存储数据,这使您可以优化大型数据库(包括 PB 级数据)中按列分组的性能​​。 支持线性缩放、压缩数据存储、垂直和水平分区以及竞争请求的高效执行。

  • 所有以“mysql”一词开头的可执行文件已重命名为使用“mariadb”一词。 旧名称以符号链接的形式存储。
  • 添加了新的数据类型 网络6 用于存储 IPv6 地址。
  • 我们已经将权限划分为更小的组件。 代替一般的SUPER权限,提出了一系列选择性权限“BINLOG ADMIN”,
    “二进制日志重播”
    “连接管理员”
    “联邦管理员”
    “只读管理员”,
    “复制主管理员”
    “复制从管理员”和
    “设置用户”。

  • “REPLICATION CLIENT”权限已重命名为“BINLOG MONITOR”,“SHOW MASTER STATUS”表达式已重命名为“SHOW BINLOG STATUS”。 重命名澄清了行为,与政治正确性无关,该项目没有放弃主/从术语,甚至添加了新的权限“MASTER ADMIN”和“SLAVE ADMIN”。 同时,SQL表达式中添加了一个新的键“REPLICA”,它是“SLAVE”的同义词。
  • 对于某些表达式,执行它们所需的权限已更改。 “SHOW BINLOG EVENTS”现在需要“BINLOG MONITOR”权限而不是“REPLICATION SLAVE”,“SHOW SLAVE HOSTS”需要“REPLICATION MASTER ADMIN”权限而不是“REPLICATION SLAVE”,“SHOW SLAVE STATUS”需要“REPLICATION SLAVE ADMIN”或“SUPER”而不是“REPLICATION CLIENT”,“SHOW RELAYLOG EVENTS”需要“REPLICATION SLAVE ADMIN”权限而不是“REPLICATION SLAVE”。
  • 添加了设计“插入...返回“和”更换...返回”,以表单形式返回插入/替换条目的列表,就像使用 SELECT 表达式返回值一样(类似于“DELETE ... RETURNING”)。

    INSERT INTO t2 VALUES (1,'狗'),(2,'狮子'),(3,'老虎'),(4,'豹')
    RETURNING id2,id2+id2,id2&id2,id2||id2;
    +——+——+——+——-+
    | id2 | id2+id2 | id2&id2 | id2||id2|
    +——+——+——+——-+
    | 1 | 2 | 1 | 1 |
    | 2 | 4 | 2 | 1 |
    | 3 | 6 | 3 | 1 |
    | 4 | 8 | 4 | 1 |
    +——+——+——+——-+

  • 添加了表达式“除了所有“和”与所有相交» 用一组特定值排除/补充结果。
  • 现在可以在“CREATE DATABASE”和“ALTER DATABASE”块内指定注释。
  • 添加了用于重命名索引和列的结构“更改表...重命名索引/键“ 和 ”更改表...重命名列«。
  • 在“ALTER TABLE”和“RENAME TABLE”操作中,增加了对“IF EXISTS”条件的支持,仅当表存在时才执行操作;
  • 对于“CREATE TABLE”中的索引,属性“可见«。
  • 添加了“CYCLE”表达式来识别递归循环 CTE.
  • 添加的功能 JSON_ARRAYAGG и JSON_OBJECTAGG 返回具有指定列的值的数组或 JSON 对象。
  • 添加了线程池(thread_pool)的服务信息表(THREAD_POOL_GROUPS、THREAD_POOL_QUEUES、THREAD_POOL_STATS 和 THREAD_POOL_WAITS)。
  • ANALYZE 表达式被扩展以显示检查 WHERE 块和执行辅助操作所花费的时间。
  • 范围处理优化器考虑了“IS NOT NULL”特征
  • 使用 VARCHAR、CHAR 和 BLOB 类型排序时使用的临时文件的大小已显着减小。
  • В 二进制日志用于组织复制,添加了新的元数据字段,包括主键、列名、字符集和几何类型。 mariadb-binlog 实用程序以及“SHOW BINLOG EVENTS”和“SHOW RELAYLOG EVENTS”命令提供复制标志的显示。
  • 设计 掉落表 现在安全了 移除 即使没有“.frm”或“.par”文件,仍保留在存储引擎中的表。
  • 为 AMD32、ARMv64 和 POWER 8 CPU 实现了 crc8() 函数的硬件加速版本。
  • 更改了一些默认设置。 innodb_encryption_threads 已增加到 255,max_sort_length 已从 4 增加到 8。
  • 介绍了 InnoDB 引擎的许多性能优化。
  • 全面支持Galera同步多主复制机制 GTID (Global Transaction ID),所有集群节点共有的事务标识符。
  • 图书馆已迁至新分馆 PCRE2 (Perl 兼容正则表达式),而不是经典的 PCRE 8.x 系列。
  • 已提出新版本的工具用于从 Python 和 C 程序连接到 MariaDB 和 MySQL DBMS: MariaDB 连接器/Python 1.0.0 и MariaDB 连接器/C 3.1.9。 Python 绑定符合 Python DB API 2.0,用 C 编写,并使用 Connector/C 库连接到服务器。

来源: opennet.ru

添加评论