版本发布
5.1.3 发布介绍
发布日期:2023-09-25
错误修复
- MatrixGate:
- 优化 zstd 压缩句柄的内存释放周期,减少 mxgated 进程内存占用。
- 修复了当集群存在 Standby 节点时,MatrixGate 建立的数据库会话无法定期刷新的问题。
5.1.2 发布介绍
发布日期:2023-09-11
错误修复
- 存储引擎:
- 修复 MARS3 表由于 L0 缓存层的数据并发写入异常,导致查询异常的问题(#6155)
- MatrixGate:
- 修复数据表在自动分区过程中 MatrixGate 因内部超时未将任务恢复,导致无法继续入数的问题(#6165)
5.1.1 发布介绍
发布日期:2023-08-25
错误修复
- 存储引擎:
- 修复 MARS3 存储引擎 uniquemode 模式下 redo log 的问题
5.1.0 发布介绍
发布日期:2023-08-22
特性发布
- 新增 MARS3 存储引擎(文档),其与 MARS2 相比:
- 实现行列混存,写入数据行存落盘,大幅提升写入性能
- 无需额外创建索引即可完成建表
- 支持数据的更新与删除,支持增删列,支持 MVCC 机制
- 不仅继承了 MARS2 时序场景下的性能优势,还增添了对 AP 和 TP 场景的支持
- 新增镜像实例迁移工具 mxmoveseg(文档):
- 支持迁移任意一个当前为 Mirror 的数据库实例到其他服务器
- 不支持迁移 Standby
- 数据迁移工具 mxshift 功能增强(文档):
- 支持增量迁移:以表为单位,实现从 Greenplum 4.3.33/5/6 / YMatrix 集群并行迁移目标数据库中部分数据表的数据定义语言(DDL)及数据到新的 YMatrix 集群
- 支持通过 [database.source.hostname-to-ip] 类别下的参数指定主机名对应的 IP 地址,以保障路由的准确性
- 新增 install-dir 参数,以替换 gphome 参数
- MatrixGate 功能增强:
- 编码链压缩算法功能增强(文档):
- 新增 Gorilla2、fds 算法
- 图形化界面升级(文档):
- 新增自助巡检页面,支持通过勾选巡检选项自助制定巡检计划,并生成详细的巡检报告
- 国产平台 OpenEuler 20.03-22.03、超聚变(Fusion)22-23、麒麟信安 V3.3-3.5、龙晰(Anolis)OS 8、统信 V20(1060a/1060e)支持(企业版特性)(文档)
错误修复
- 存储引擎:
- 修复 AOCS 存储引擎在索引扫描时引发的崩溃问题
- 修复 MARS2 存储引擎定义超过 32 个 minmax 索引导致的崩溃问题
- MatrixGate:
- 修复 MatrixGate 在启动压缩时导致的内存超用问题
- 修复 MatrixGate 在处理连接超时引发的内部逻辑错误问题
- MatrixManager:
- 修复 MatrixMgr 由于长时间没有释放连接导致内存超用问题
- 执行引擎:
- 修复 mxvector 在处理 NULL 值时由于没有对齐引发的崩溃问题
- 修复并行模式下处理 InitPlan 引发的崩溃问题
- 修复分区表下统计信息计算错误问题
- 工具:
- 修复 mxaddmirrors 命令在处理 AO 存储上 checksum 引发的数据校验错误问题
- 修复 mxshift 执行导出 DDL 操作时报错的问题
5.0.1 发布介绍
发布日期:2023-06-06
错误修复
- 执行引擎:
- 修复了向量化窗口函数表达式计算导致的崩溃
- 修复了滑动窗口函数处理分组逻辑导致的崩溃
- MatrixGate:
- 修复了 MatrixGate 在锁住某个表时阻塞其他表入数的问题
- 高可用:
- 改进了 Segment 节点的存活探测方法,提高了在高 I/O 负载下的稳定性
5.0.0 发布介绍
发布日期:2023-03-31
特性发布
-
全新数据库架构:
-
新增向量化执行引擎(文档):
- 支持批处理:利用批处理的方式,可以有效减少函数调用等执行开销
- 充分利用硬件及编译器能力:使用 CPU 缓存友好的算法,从而充分利用硬件以及编译器的优化能力,如生成 SIMD(Single Instruction, Multiple Data)指令
- 支持多种算子:实现了 Scan、Sort、Aggregate、Join、Window Function、Sub Query、Limit、Motion 等算子,对于同一算子也有不同的算法实现,有效覆盖绝大部分查询场景,提升查询性能
基于以上三点核心原理,相比面向行处理的传统执行引擎,向量化执行引擎可实现 1 到 2 个数量级的性能提升。
-
新增 Runtime Filter 查询性能优化技术(文档):
- RuntimeFilter 是提升 YMatrix 执行引擎性能的关键技术之一,它 是指在优化器生成物理执行计划后,在执行引擎中估价时,动态构建的过滤器(Filter),区别于优化器预先规划的过滤器。
-
MARS2 存储引擎性能大幅优化(文档):
- 优化压缩策略,降低内存使用量
- 优化分区表写入,降低内存使用量
- 优化查询过滤效果,减少不必要的 I/O 消耗
- 优化数据量估计,执行计划的选择更精准
- 增强聚合能力,支持 uniquemode 和 IN 表达式
-
新增编码链压缩算法(文档):
- 支持多种编码、压缩算法:支持 lz4,zstd,simple8b,doubledelta,gorilla,deltazigzag,floatint 等编码、压缩算法,可灵活组合以上算法,以充分提升压缩率
- 支持列级或表级自定义压缩算法
- 支持自适应编码
- 配合向量化执行引擎使用提升数据压缩 / 解压速度:在 SSB 场景下解压速度是 LZ4 的 3 倍
编码链压缩方案可大幅减小空间占用,降低成本。在新能源汽车场景,压缩率是使用 LZ4 压缩算法方案的 3.9 倍,在 TSBS(Time Series Benchmark Suite)场景,是 LZ4 的 2.7 倍。
-
存储诊断工具 Datainspect 升级(文档):
- 增加新函数 desc_compress,可以对两种指定压缩算法进行对比择优
-
MatrixGate 功能增强:
-
新增平滑扩容功能(文档):
-
数据迁移工具 mxshift 功能增强(文档):
- 以数据库为单位,实现对数据表 DDL 的迁移,并且可选择是否只迁移 DDL
-
图形化界面升级:
-
自动分区管理增加新策略 auto_partitioning_ex(文档):
- 支持批量创建分区
- 支持强制保留特定历史分区
- 支持自定义自动分区操作时段