文档首页/ 云数据库 GaussDB(for MySQL)/ 内核介绍/ GaussDB(for MySQL)内核版本发布记录
更新时间:2024-10-28 GMT+08:00
分享

GaussDB(for MySQL)内核版本发布记录

本章节介绍云数据库 GaussDB(for MySQL)的内核版本更新说明。

2.0.54.240900

表1 2.0.54.240900内核版本说明

日期

特性描述

2024-10-18

  • 新增功能和性能优化:
    • 分区级MDL锁:在MySQL社区版中,分区表的数据访问操作(DML)和分区维护操作(DDL)会互相阻塞,这意味着分区维护只能在业务低峰期进行。本版本实现了分区级别的MDL锁,使得分区表的锁粒度从表级降低到了分区级,不同分区上的DML和特定DDL(如增加和删除分区)在MDL锁上不会相互阻塞,从而大大提升分区间操作的并发性。
    • 表回收站:启用此功能开关后,符合条件的DROP TABLE命令不会直接删除指定表,而是将表暂时存放到回收站中,达到最大保存时间后,后台会自动删除。回收站功能支持修改被删除表在回收站中的保留时间,您也可以随时将表从回收站中恢复或彻底删除。
  • 问题修复:
    • 优化资源抢占场景下,各租户的CPU资源不会严格按照配置的比例分配问题。
    • 优化Statement Outline功能,支持视图,支持explain analyze语句。

2.0.54.240600

表2 2.0.54.240600内核版本说明

日期

特性描述

2024-07-19

  • 新增功能和性能优化:
    • 热点行更新优化:热点行出现的场景包括秒杀抢购、演唱会门票预订、热门路线火车票预定等等,本版本支持热点行更新优化,您可以通过手动指定或者自动识别的方式开启热点行更新,该功能开启后可以大幅度提升热点行的更新性能。
    • 非阻塞DDL:用户在执行DDL操作的时候,如果目标表存在未提交的长事务或大查询,DDL将持续等待获取MDL-X锁,将导致业务连接的堆积和阻塞。本版本支持非阻塞DDL功能,可以保证即使在无法获得MDL-X锁的情况下,依然允许新事务进入目标表,从而保证整个业务系统的稳定。
    • 多租户管理:提供多租户管理功能,让数据库能够为其多个租户服务,提高数据库资源利用率。
    • 只读节点支持Binlog拉取:支持只读节点拉取Binlog,您可以以GaussDB(for MySQL)只读节点为数据源,建立Binlog复制链路,实时同步Binlog内容,以便减轻GaussDB(for MySQL)主节点的负载。
    • 字段压缩(列压缩):为了减少数据页面存储空间占用,节省成本,GaussDB(for MySQL)推出细粒度的字段压缩,提供ZLIB和ZSTD两种压缩算法,用户可以综合考虑压缩比和压缩解压性能影响,选择合适的压缩算法,对不频繁访问的大字段进行压缩。
    • 支持INTERVAL RANGE分区表:现有的RANGE分区表插入数据时,如果插入的数据超出当前已存在分区的范围,将无法插入并且会返回错误。本版本支持INTERVAL RANGE分区表后,当新插入的数据超过现有分区的范围时,允许数据库根据INTERVAL子句提前指定的规则来添加新分区。
    • 支持LIST DEFAULT HASH分区表特性:LIST DEFAULT HASH是在同一级别支持两种分区类型:LIST和HASH。前面是普通的LIST分区,不符合LIST分区规则的数据会放在DEFAULT分区里,DEFAULT分区如果有多个分区则根据HASH规则计算。LIST DEFAULT HASH分区类型常用在LIST VALUES分布不均匀以及无法全部枚举的场景。
  • 问题修复:
    • 优化表级恢复性能。
    • 优化大规格实例高并发场景备机的执行性能。

2.0.51.240300

表3 2.0.51.240300内核版本说明

日期

特性描述

2024-03-30

  • 新增功能和性能优化:
    • 支持高性能全局一致性,在较低的性能损耗下,提供集群维度的强一致性读能力。
    • 新增show binary logs no block语法,优化在show binary logs过程中对事务提交的阻塞情况。
    • 提供undo truncate能力,优化大量写入场景导致undo空间膨胀的问题。
    • 提高全量恢复的并行度,优化备份恢复效率。
  • 问题修复:
    • 修复一批window function查询结果不准确或异常错误的问题。
    • 修复在打开plan cache后反复执行一类prepare statement,数据库节点崩溃的问题。
    • 修复在先后执行的存储过程中,由于字符集不一致导致的报错问题。
    • 修复一类开启PQ后进行磁盘hash join,查询结果不符合预期的问题。
    • 修复一类查询含有group by临时表字段时,报错主键重复的问题。

2.0.48.231200

表4 2.0.48.231200内核版本说明

日期

特性描述

2024-01-30

  • 新增功能和性能优化:
    • 组合分区能力增强:在社区MySQL的RANGE-HASH、LIST-HASH两类组合分区能力基础上,增加了RANGE-RANGE、RANGE-LIST、LIST-RANGE、LIST-LIST、HASH-HASH、HASH-KEY、HASH-RANGE、HASH-LIST、KEY-HASH、KEY-KEY、KEY-RANGE、KEY-LIST的组合分区能力。
    • 向前兼容MySQL 5.7 GROUP BY场景隐式/显式排序。
    • 向前兼容MySQL 5.7 max_length_for_sort_data判据,优化特定场景文件排序性能。
    • 优化因执行计划选错导致访问information_schema下视图较慢的问题。
    • PQ支持EXIST子查询。
    • 优化库表或实例按时间点恢复性能。
  • 问题修复:
    • OPENSSL版本升级。
    • 修复time_zone参数默认值SYSTEM会导致部分场景SQL并行执行效率降低的问题。
    • 修复一类条件部分下推到物化derived table时,SQL查询结果不准确的问题。
    • 修复部分场景磁盘hash join开启PQ后性能劣化的问题。
    • 修复控制台赋予用户数据库权限后,通过非控制台的方式删除此数据库,权限页面未更新的问题。

2.0.45.230900

表5 2.0.45.230900内核版本说明

日期

特性描述

2023-11-24

  • 新增功能和性能优化:
    • 优化datatime/timestamp/time字段行为向前兼容。
    • 优化PQ支持并行磁盘hash join场景。
    • 启用并行INSERT/REPLACE SELECT的功能优化查询速度。
    • 增加连接建立/断开日志打印,提高定位连接相关问题效率。
    • 优化慢日志中增加对慢SQL问题定位有用的信息,提升定位慢SQL定位效率。
    • 支持动态开启Binlog。
    • 优化NDP bloom过滤器。
    • 支持使用CAST(... AS INT) 语法。
    • 优化Nested Loop Join + Distinct 性能。
    • 优化快速识别慢IO对应的slice id。
    • 增加sal_init日志,后续出现存储接口超时,时延可定位性增强。
  • 问题修复:
    • 修复全量SQL中缺少trx_id和cpu_time字段的问题。
    • 修复prepare语句中where比较时,字段是int类型、参数是字符串导致转换有误的问题。
    • 修复备机上DDL与查询的并发访问时,极小概率导致crash的问题。
    • 修复Binlog数量短期暴涨未及时清理的问题。
    • 修复多表JOIN SQL语句打开PQ开关后,可能出现执行结果不一致的问题。
    • 修复Backwad Index Scan与ICP无法兼容导致查询性能不及预期的问题。
    • 修复weight_string函数不支持level子句的问题。
    • 修复特殊场景下,相同的SQL语句选用不同的索引得出结果不一致的问题。
    • 修复部分场景下,同时开启NDP和PQ特性recycle lsn长时间不推进的问题。

2.0.42.230600

表6 2.0.42.230600内核版本说明

日期

特性描述

2023-08-31

  • 新增功能和性能优化:
    • 优化全量与增量备份放到备库进行,减少主机内存/CPU占用。
    • 优化UNDO损坏场景的快速定位:启动undo损坏时,明确打印出undo损坏和对应表名称。
    • 优化备机查询性能劣后于主库问题。
    • 优化in-list转临时表。
    • NDP特性规模商用。
    • 用Statement Outline方法稳定执行计划。
    • PQ特性支持Round函数。
  • 问题修复:
    • 修复快速排序和优先级队列排序算法不稳定导致ORDER BY LIMIT与ORDER LIMIT结果集有重合的问题。
    • 修复PQ语句极小概率情况返回错误结果的问题。
    • 修复部分场景PREPARE语句执行报错的问题。
    • 修复部分场景UNION查询上的PQ断言错误的问题。
    • 修复实例主节点INSERT大数据量的时候只读升主,升主成功后用全文索引查询的结果不准确的问题。
    • 修复备机使用general_log和slow_log表打印warning日志的问题。
    • 修复部分场景设置锁等待时间参数innodb_lock_wait_timeout后,实际超时等待时间不一致的问题。
    • 修复只读升主过程中,小概率出现Failed to find page in slice manager导致升主失败的问题。
    • 修复salsql日志pwal扫描进度percentage值大于100%的问题。
    • 修复执行sqlsmith工具, 查询语句在explain阶段偶现mysqld coredump。
    • 修复SELECT DISTINCT + CAST函数转换datetime类型为float类型时,结果不正确的问题。

2.0.39.230300

表7 2.0.39.230300版本说明

日期

特性描述

2023-05-11

  • 新特性及优化:
    • 支持小规格实例。
    • 备机DDL失效方案优化。
    • SALSQL使用空间容量计算优化。
    • 支持对单个SQL语句使用资源进行限制。
    • 支持admin port和local socket使用per thread。
    • pwalScanner内存优化。
    • 支持修改default_collation_for_utf8mb4参数。
    • 支持大事务检测能力。
    • 支持Kill idle transactions。
    • 优化增量恢复速度。
    • 新增数据库描述和账号描述。
    • 支持buffer pool resize加速。
  • 问题修复:
    • 修复Ptrc可能会导致Nestedloop join的结果不一致问题。
    • 修复使用windows函数进行排序的子查询可能会导致crash问题。
    • 修复使用rewrites view时,如果评估可能会把left joins转化为inner joins问题。
    • 修复指定过滤条件的decimal类型的数据不返回结果问题。
    • 修复内存非对齐问题。
    • 修复全量日志中记录scan_row不准确问题。

2.0.28.18

表8 2.0.28.18版本说明

日期

特性描述

2023-05-17

修复对含有大的JSON列的排序报超过排序内存问题。

2.0.28.17

表9 2.0.28.17版本说明

日期

特性描述

2023-04-02

修复prepare statement中字符集混合使用问题。

2.0.28.16

表10 2.0.28.16版本说明

日期

特性描述

2023-03-14

  • 新特性:

    优化主备时延。

  • 修复问题:
    • 修复prepare statement中使用json相关函数处理错误问题。
    • 修复指定过滤条件查询结果不返回的问题;
    • 修复WINDOWS函数生成磁盘临时表后,出现空指针异常问题。
    • 修复windows functions空指针使用导致的crash问题。
    • 修复prepared statements执行失败的问题。

2.0.28.15

表11 2.0.28.15版本说明

日期

特性描述

2023-01-11

  • 新特性
    • 支持SQL限流。
    • 读流控优化。
    • 主备执行计划一致优化。
    • slice异步预创建。
  • 问题修复
    • 修复系统变量INNODB_VALIDATE_TABLESPACE_PATHS关闭情况下undo space truncate的时候出现的crash问题。
    • 修复查询information_schema.innodb_trx较慢问题。
    • 修复查询结果不一致的问题:left joins没有转化为inner joins。
    • 修复优化子查询的过程中导致的crash问题。
    • 修复并发instantDDL和DML场景下未按实际获取instant字段值的问题。
    • 修复当load有FTS索引的两个INNODB表时可能导致OOM的问题。
    • 修复更新百万级别的表的数据字典可能导致OOM的问题。

2.0.28.12

表12 2.0.28.12版本说明

日期

特性描述

2022-12-07

修复更新有虚拟列的表之后,使用skip scan触发了扫描错误的问题。

2.0.28.10

表13 2.0.28.10版本说明

日期

特性描述

2022-11-16

修复主备倒换过程中,连接备机超时触发数据库崩溃问题。

2.0.28.9

表14 2.0.28.9版本说明

日期

特性描述

2022-09-23

  • 修复在Condition_pushdown::replace_columns_in_cond中使用不正确的条件判断的问题。
  • 修复递归调用存储函数之后导致数据库崩溃的问题。
  • 修改多表删除和full-text搜索的时候导致数据库崩溃的问题;
  • 修复运行多个窗口函数的SQL查询语句之后导致数据库崩溃的问题;
  • 修复具有全局级别权限的用户,执行SHOW CREATE DATABASE失败的问题。

2.0.28.7

表15 2.0.28.7版本说明

日期

特性描述

2022-08-25

修复存储过程中的ptrc crash问题。

2.0.28.4

表16 2.0.28.4版本说明

日期

特性描述

2022-07-22

  • 修复空用户导致数据库崩溃的问题。
  • 修复更新用于聚合的临时表时,BLOB指针指向的数据过期的问题。

2.0.28.1

表17 2.0.28.1版本说明

日期

特性描述

2022-05-16

  • 新特性
    • GaussDB(for MySQL)增加orphaned definer check控制开关。
    • GaussDB(for MySQL)支持Proxy IP透传。
    • GaussDB(for MySQL) Proxy提供会话一致性功能。
  • 问题修复
    • 修复主机DDL未提交导致的备机dd(data dictionary)未更新问题。
    • 修复故障切换的主机的auto increment回退的问题。
    • 修复备机性能异常问题。

2.0.31.220700

表18 2.0.31.220700版本说明

日期

特性描述

2022-08-12

  • 新特性及性能优化
    • 支持SQL限流。
    • 新增FasterDDL并行数限制。
    • 支持Faster DDL的所有ROW格式。
    • 扩展全量SQL字段。
    • 优化流量控制。
    • 支持ALTER TABLE快速超时。
    • 支持Query plan cache。
    • 备机统计信息优化。
  • 问题修复
    • 修复主机rename partition-table之后备机crash的问题。
    • 修改sql tracer的默认buffer size。
    • 修复备机truncate lsn落后很多情况下备机拉起失败的问题。
    • 修复含有多个相同范围的SQL查询导致的执行计划错误的问题。
    • 修复空账户导致的crash的问题。
    • 修复drop database可能导致的crash的问题。

相关文档