文档中心MogDBMogDB StackUqbar
v5.0

文档:v5.0

支持的版本:

其他版本:

MogDB 5.0.8

1. 版本说明

MogDB 5.0.8是MogDB 5.0.0的补丁版本,于2024-07-31发布,其在MogDB 5.0.7的基础上新增部分特性并修复了部分缺陷,内容如下:


2. 新增特性

2.1 顺序扫描预读

MogDB针对大数据量的顺序扫描场景进行优化,实现了扫描过程中CPU计算和I/O的并行化,充分发挥CPU执行效率,带来了更高的吞吐量。顺序扫描预读支持AStore和UStore两种存储引擎,开启扫描预读后,TPCH场景下 ,SeqScan算子有20% - 80%的性能提升,端到端有10% - 30%的性能提升。

相关页面顺序扫描预读

2.2 UStore支持SMP并行执行

SMP并行技术是一种利用计算机多核CPU架构来实现多线程并行计算,以充分利用CPU资源来提高查询性能的技术。本特性新增了对于Ustore存储引擎的并行能力支持。其中全表顺序扫描场景下,在存储带宽内随着并行度增加,查询性能达到了近乎线性倍数提升的效果;在索引查询下,SMP也获得了显著性能提升。

相关页面Ustore SMP并行扫描In-place Update存储引擎Ustore

2.3 导入导出能力增强

  1. gs_dump支持分区表的并行导入/导出,获得了存储带宽内随并行度的增加而几近线性倍数提升的效果。

    相关页面逻辑备份恢复效率增强

  2. gs_dump支持在备机上进行数据的备份导出。

    相关页面gs_dump

  3. gs_dump和gs_restore支持指定导入/导出function、trigger、type、package、procedure五种基本对象。

    相关页面支持指定导入导出五类基本对象

2.4 兼容性增强

  1. 在B兼容性模式(MySQL兼容性)下,支持除法中,除数为0的时候,错误信息"division by zero"不以error级别报错,而是以warning级别报错,避免SQL执行中遇到这种情况时候执行中断,在这种情况下,计算结果返回NULL,行为与MySQL保持一致。

  2. 在使用如JDBC等PBE连接方式的情况下,支持匿名块中的左值与OUT/INOUT类型的数据在存储过程中返回值到对应驱动端。该功能的使用需要设置behavior_compat_options参数中proc_outparam_override选项。

    相关页面PBE模式支持存储过程out出参

  3. 对原生ECPG(嵌入式SQL预处理器)进行改造以适配ORACLE PRO*C的用法与功能,便于用户平滑使用ECPG替换PRO*C实现业务逻辑。

    相关页面支持嵌入式SQL预处理器(ECPG)

2.5 逻辑复制支持DDL操作

支持生成常用表操作的DDL日志,以及DDL日志的逻辑解码,方便数据迁移同步软件捕获MogDB数据字典变更的行为,增强MogDB和异构数据库的双轨并行能力。

相关页面逻辑复制支持DDL操作

2.6 checkpoint能力增强

在几乎不影响数据库性能的前提下,优化了MogDB的脏页刷盘能力,减小系统内脏页数量,这将大幅减小数据库switchover操作的完成时间。另外在发生数据意外掉电重启的场景下,也会降低重启所需回放的wal数量,从而减小数据库启动时间。

相关页面极致刷脏


3. 修复缺陷

  1. 【4061】修复了由于多线程并发写入wal日志导致的低概率数据库宕机问题。

  2. 【5234】修复了gs_dump导出procedure,gs_restore导入procedure后,procedure不存在的问题。

  3. 【5291】修复了gs_dump、gs_restore导出导入function,function包含两个参数,提示function不存在的问题。

  4. 【3961】修复了group by rollup语法查询结果和oracle不一致的问题。

  5. 【4543】修复了低版本已经使用的auto_increment无法重置为1的问题。

  6. 【4550】修复了B模式下uuid_short数值重复的问题。

  7. 【4894】修复了drop触发器的function时出现报错ERROR: could not find tuple for trigger 437851的问题。

  8. 【4952】修复了在开启增量排序的情况下,带有distinct的SQL会选择较差的计划的问题。

  9. 【4992】修复了表实际行数为0,analyze后估算行数为非零值且误差较大的问题。

  10. 【5138】修复了whale插件执行SELECT to_timestamp(0) FROM dual; 输出结果与预期不符的问题。

  11. 【5143】修复了whale插件dbms_random.normal()函数返回的值每次一样的问题。

  12. 【5146】修复了树形查询过滤条件错误下推的问题。

  13. 【5242】修复了存储过程游标参数返回为null,但实际有数据的问题。

  14. 【5244】B模式下UNION ALL之后 '' 返回为0的问题。

  15. 【5293】修复了执行存储过程插入表数据报错的问题。

  16. 【5400】修复了update分区表导致内存泄漏的问题。

  17. 【5642】修复了B模式下order by结果集为空时,使用聚合函数报错的问题。

  18. 【5680】修复了普通用户访问远程dblink的表会报ERROR: permission denied for relation (null)的问题。

  19. 【5698】修复了更新dblink远程表使用别名识别为字段的问题。

  20. 【1073】支持了外部分区表的访问更新。

  21. 【6147】修复了在开启select - O自动事务提交功能下,fetchsize功能报错的问题。

  22. 【6141】修复了select - O自动事务提交功能出现select for update非预期的自动提交的问题。

  23. 【4470】修复了拥有外键约束的ustore表在删除表时出现tuple already updated by self的报错问题。

  24. 【6305】修复了gs_dump并行导出分区表,gs_dump工具低概率core的问题。

  25. 【5837】修复了Merge into在并发更新时低概率导致数据不准确的问题。

  26. 【6380】修复了beatmapheapscan并行情况下低概率导致数据库core的问题。

Copyright © 2011-2024 www.enmotech.com All rights reserved.