版本发布
注意!
实验特性(Experimental)是某特定版本中存在但未正式发布的特性,会在未事先通知的情况下发生语法或实现上的变化或直接删除,请慎用。
4.8.12 发布介绍
错误修复
- 存储引擎:
- 修复了 MARS2 表年龄无法 freeze 的问题(#IAI8EF)
4.8.11 发布介绍
错误修复
- 存储引擎:
- 修复了 mars2_btree 索引存在多个同 attno 上的 arraykey 时会崩溃的问题。(#7306)
- 修复了 MARS2 下推 like 操作符的 brinkey 时的 collation 报错问题。(#7252)
- 修复了 MARS2 在 UniqueMode 下,下推 brinkey 算子后返回结果不正确的问题。(#7225)
- 优化器:
- 修复了优化器将子查询转换为 join 算子执行会报错的问题。(#6524)
4.8.10 发布介绍
错误修复
- 存储引擎:
- 修复了 mars2_btree 索引当查询条件重复时会返回不符合条件的数据的问题。(#6632)
- 修复了 mars2_btree 索引因重复排序键查找逻辑不够完善而导致特定查询结果错误的问题。(#7041)
4.8.9 发布介绍
增强与改进
- MatrixGate:
错误修复
- MatrixGate:
- 修复了迁移模式中,数据通道连接数量超过源集群 Segment 的数量时,数据迁移会报错并中止的问题。(#6800)
- 修复了当主节点(Master)发生故障自动转移(Failover)自动切换到备用节点(Standby)后,MatrixGate(mxgate)无法响应数据定义语言(DDL)变更而自动刷新任务的问题。(#6850)
- 修复了当目标表不存在时,用户通过 MatrixUI 中 Kafka 数据流功能配置的 mxgate 服务会被 supervisor 进程反复重启的问题。(#6928-1)
- 修复了通过多个浏览器窗口同时创建 Kafka 数据流时,后台启动的 mxgate 端口可能冲突的问题。(#6928-2)
- 修复了 Kafka 数据源使用 consumer-group 模式时,当数据库发生重启/崩溃后,MatrixGate 有概率无法继续从 consumer-group 抽取到数据的问题。(#6848)
- 改进了 JSON 映射语义,目前输入 { "key": null } ,key 一律映射为数据库的 NULL 值。(#6536)
- 修复了当使用 mxgate pause 命令(不加 -X 参数)暂停任务后,通过 mxgate stop 或 Ctrl+C 无法停止 mxgate 的问题。(#6519)
- 修复了当任务(Job)处于暂停状态时,数据表 DDL 被修改或者自动调节 slot 功能尝试改变任务的状态时,三者行为发生冲突的问题。(#6436)
- 对数据行进行 JSON 映射时,如果每一个当前数据行需要映射的列都找不到对应的键,则报告该行数据非法,不会向数据库插入空行。(#6488)
- 改进了 mxgate 自身日志组件的性能和内存占用问题。(#6242)
- 修复了当数据库默认搜索路径不是 public 时,启动 mxgate 自动创建 matrixts 扩展失败的问题。(#6430)
- 修复了对同一个数据库使用多个 mxgate 进程时,mxgate watch 的指标报告存在混淆的问题。(#5848)
- 优化了 plain transform 组件内存池的释放时机,减少了 mxgated 进程的内存占用。(#6071)
- 优化 zstd 压缩句柄的内存释放周期,减少 mxgated 进程内存占用。(#6299)
- 修复了当集群存在 Standby 节点时,MatrixGate 建立的数据库会话无法定期刷新的问题。(#6308)
- 图形化界面:
- 修复了在数据流页面上搜索时,由 Javascript 错误导致页面无法显示的问题。受影响的版本为 4.8.7 和 4.8.8。(#6977-1)
- 修复了当页面手动滚动后,网页自动刷新跳转到页面顶部,而非停留在原滚动位置的交互问题。(#6977-2)
4.8.8 发布介绍
错误修复
- 查询引擎:
- 修复了执行 WITH 语句在特殊场景下会导致集群崩溃的问题。
4.8.7 发布介绍
错误修复
- Interconnect:
- 修复了某些条件下错误释放 TCP 连接导致崩溃的问题。
- 工具:
- 修复了 mxpacklogs 工具在某些系统下报权限不足的问题。
4.8.6 发布介绍
错误修复
- MatrixGate:
- 修复数据表在自动分区过程中 MatrixGate 因内部超时未将任务恢复,导致无法继续入数的问题。(#6165)
- YMatrix Database:
- 修复释放连接导致数据库内存超用的问题。(#5826)
4.8.5 发布介绍
错误修复
- MatrixGate:
- 修复 MatrixGate 触发自动分区管理后,所有表不可写入的问题。
- 执行引擎:
- 修复算子类型设置错误导致的查询报错。
4.8.4 发布介绍
错误修复
- 存储引擎:
- 修复 AOCS 存储引擎在索引扫描时引发的崩溃问题。
- 修复 MARS2 存储引擎定义超过 32 个 minmax 索引导致的崩溃问题。
- MatrixGate:
- 修复 MatrixGate 在启动压缩时导致的内存超用问题。
- 修复 MatrixGate 在处理连接超时引发的内部逻辑错误问题。
- MatrixManager:
- 修复 MatrixMgr 由于长时间没有释放连接导致内存超用问题。
- 工具:
- 修复 mxshift 执行导出 DDL 操作时报错的问题。
4.8.3 发布介绍
特性发布
- mxshift 功能增强(文档):
- 配置文件中 [database.source] 类别新增
install-dir
配置项,此项替换掉了原 [scope] 类别下的 gphome 参数,用以配置数据库安装路径。 - 配置文件中 [database.source] 类别新增
hostname-to-ip
配置项,支持指定主机名对应的 IP 地址。
- 配置文件中 [database.source] 类别新增
错误修复
- 执行引擎:
- 修复了滑动窗口函数处理分组逻辑导致的崩溃。
- 工具:
- 修复 pgbench 遇到特殊字符产生解析错误的问题。
- MatrixGate:
- 修复了 MatrixGate 在锁住某个表时阻塞其他表入数的问题。
4.8.2 发布介绍
特性发布
- MatrixGate 升级:
- 支持针对数据写入的全流程观测,用于调试 MatrixGate 到 Segment 的传输性能。(文档)
- 支持热更新 MatrixGate 日志级别。(文档)
- [实验特性]提供 --source 参数中所有数据源(http / stdin / kafka / transfer / grpc)类型下的 JSON 格式数据的解析及映射支持。(文档)
- [实验特性]--dml-template 参数支持对接 TEXT / CSV 格式的数据。(文档)
- Master 手动切换到 Standby 后,向 MatrixGate 写入的指标信息会切换为写入 Standby。
- 当停止一个未进行写入数据操作的事务时,速度大幅增加。
- mxshift 功能增强(文档):
- 以数据库为单位,实现对数据表 DDL 的迁移,并且可选择是否只迁移 DDL。
- [实验特性]支持将数据表 DDL 导出到文件。
- [实验特性]支持数据表 DDL 文件直接导入或修改后并发导入数据库。
- 图形化界面升级:
- 监控增强:
- 允许自定义监控脚本:支持用户在通过 mxmgr_init_local() 或 mxmgr_init_exporter() 部署 Grafana / Prometheus 监控时,通过修改监控脚本,自行开发监控项目。(文档)
错误修复
- 存储引擎:
- 修复了 MARS2 存储引擎在处理文本类型排序键时内存错误的问题。
- 修复 AOCO 存储引擎压缩导致内存错误的问题。
- 修复了存储诊断工具 datainspect 出现错误崩溃的问题。
- 修复 MARS2 存储引擎 xid 溢出的问题。
- Cylinder:
- 修复了滑动窗口无法触发的错误。
- 修复了一定概率下,扩容重分布数据后 APM/TBS/SV 指令无法触发的错误。
- MatrixGate:
- 修复了 YMatrix 重启或恢复时,MatrixGate 中某些正在插入数据库的 HTTP 请求无法响应的问题。
- 修复了当用户对目标表进行 DROP 或 ALERT 后,仍向 MatrixGate 发送此表的数据引起 MatrixGate 写入队列阻塞,导致其他事务的入数被卡住的问题。
- 修复了 MatrixGate 在解析 "1,2,3" 类似错误 JSON 数据时,没有报错的问题。
- MatrixManager:
- 修复了 mxstat 重启失败的问题。
- 修复 mxstat 在进程退出时偶发崩溃的问题。
- 查询引擎:
- 修复了 direct dispatch 模式下客户端编码设置错误的问题。
- 修复了 COPY 语句处理非法选项错误的问题。
4.8.1 发布介绍
特性发布
错误修复
- 存储引擎:
- MARS2 表参与 nestloop join 时,由于索引扫描参数传递不全导致结果错误。
- 资源组:
- 修复资源组在处理 SIGTERM 时产生操作崩溃的问题。
- 优化器:
- 修复 CTE 由于不支持并行执行产生操作崩溃的问题。
- 修复启动 ORCA 时不正确处理子计划计算的错误。
- 执行引擎:
- 修复 Share CTE 由于不正确处理 Direct Dispatch 产生操作卡死的问题。
4.8.0 发布介绍
特性发布
- MatrixGate 升级:
- 图形化界面新增:
- mxbackup 支持 S3 对象存储插件,将数据上传到 S3 对象存储。(文档)
- mxshift 功能增强。(文档)
- 新增日志采集及打包工具 mxpacklogs。(文档)
- Ubuntu20 平台支持。(文档)
- Grafana 监控项增强。(文档)
错误修复
- 优化器:
- 修复 nestloop join 参数化路径计划中处理重复扫描产生的错误。
4.7.5 发布介绍
错误修复
- MatrixManager:
- 修复获取慢查询 SQL 实际执行时间不精确问题。
4.7.4 发布介绍
错误修复
- 优化器:
- 修复查询计划中 Redistribution Motion 的分布键包含 Param 时的错误。
4.7.3 发布介绍
错误修复
- 存储引擎:
- 修复镜像节点中的 MARS2 表处理 vacuum 时没有完全删除所需文件的问题。
4.7.2 发布介绍
错误修复
- 优化器:
- 修复 Redistribution Motion 执行时涉及常量值的错误问题。
4.7.1 发布介绍
错误修复
- MatrixManager:
- 修复 mxstat 错误保留快照时产生操作崩溃的问题。
4.7.0 发布介绍
特性发布
错误修复
- 执行引擎:
- 修复 Copy 没有正确处理 Interrupt 导致操作卡死的问题。
- 修复创建大量分区表时的内存溢出问题。
- 存储引擎:
- 修复 Master Only AOCS 表对应 relsize 估计不准问题。
- 工具:
- 修复 Analyze 没有正确处理特殊字符的问题。
- 优化器:
- 修复 Recursive CTE 在 Merge Join 下产生错误查询计划的问题。
4.6.1 发布介绍
- MatrixGate 升级:
- 对于 Kafka 接入的 JSON 数据, 支持使用 dml-template 参数自定义 JSON 至数据列的映射关系。
- 新增 Kafka 身份认证机制。使用 SASL框架,目前支持 SCRAM 验证。
- 修复已知错误。
4.6.0 发布介绍
- MARS2 存储引擎聚集查询性能大幅优化。
- 图形化界面全面升级:
- MatrixGate 升级:
- Grafana 监控页面升级,支持 Prometheus 数据监控。(文档)
- 国产化平台支持:银河麒麟 V10 操作系统 + ARM 平台支持。
- 修复已知错误。
4.5.0 发布介绍
- MARS2 存储引擎隆重发布,UPSERT 场景优化显著,并且后台自动压缩,省去了转表过程。(文档)
- 新增查询统计组件,可以用来统计查询使用时间和资源消耗。(文档)
- MatrixGate 升级(文档):
- 支持任意列 timestamp 转换。
- 新增 watch 功能,可以查看 MatrixGate 写入数据的实时以及历史指标信息。
- UPSERT 支持 boolean 类型。
- mxbench 升级,用户可以灵活配置指标类型、采集频率、空值率、随机度等。(文档)
- 新增滑动窗口流计算,流数据的实时分析与监控,并支持订阅发布。(文档)
- Kubernetes 支持,可以在 k8s 上部署 MatrixDB 集群。(文档)
4.4.0 发布介绍
- MatrixGate 升级(文档)
- UPSERT 支持去重。
- 新增
--insert-timeout
和--request-timeout
参数来控制超时,防止高负载场景因资源耗尽导致雪崩。
- Kafka 数据接入流程重新设计,支持 CSV 和 JSON 两种数据格式和映射关系设置。(文档)
- 自动分区管理页面升级。(文档)
INSERT INTO SELECT
语句支持并行扫描。- Grafana 监控页面升级,监控面板拆分为系统面板和数据库面板,并增加了中文描述。(文档)
- PXF 升级到 6.2.1,在大量小文件场景吞吐率有 2~5 倍提高。
4.3.10 发布介绍
4.3.10 修复了如下错误:
- Segment crash 后 mirror 无法启动的问题。
- 特定情况下 UDF 访问 catalog 导致 QD crash 的问题。
- PXF 访问 Hive ORC 添加 filter crash 的问题。
4.3.0 发布介绍
- 持续聚集隆重上线
- 持续聚集通过物化视图实时同步源表数据并做排序归并,使聚集查询更高效。(参考文档)
- 空间数据类型支持
- 开发了增强版的 PostGIS 组件,可以完美支持空间数据类型的存储和计算。(参考文档)
- MatrixGate升级
- 可视化数据表上线
- 管理页面里新增了可视化数据表版块,可以方便查看集群数据库与表的状态。(参考文档)
- 自动分区图形化管理
- 分区表可以通过图形化界面设置模板和自动化分区管理策略。(参考文档)
- MARS 存储引擎升级
- tag_id 支持数据类型在整型基础上新增了 text,varchar,name,numeric;并且支持多分组键,即用多个列作为 tag_id。
- MARS 存储引擎支持 merge scan 操作,可以通过合并方式来对已有数据做更新。
4.2.0 发布介绍
- MARS 引擎再优化
- 智能压缩算法上线,根据数据类型和特征判断是否启用压缩。使用新编码压缩后,存储占用空间下降 70%。
- 查询性能提升,基于时间戳排序的特定查询,时延下降千倍,从秒级降到“毫秒级”。
- 查询内存使用量大大的降低,
SELECT
语句,内存使用率下降 90%。
- MatrixGate 支持 UPSERT,适用于如下场景(使用方法请参考文档):
- 设备可能重复发送数据或更正错误时序数据。
- 不同类别的指标数据分批发送,实现自动合并。
- 冷热分级转换支持归并压缩:为方便用户在分区表做热转冷的数据转换,可以将多个分区表合并到一起。一来能降低分区管理的压力,也利于 DBA 进行维护。使用方法请参考文档
- 并行备份恢复“工具”首度公开亮相:YMatrix Database 隆重推出 mxbackup 和 mxrestore 两大工具,相比继承自 PostgreSQL 的 pg_dump 和 pg_restore,支持并行处理,备份恢复效率更高。使用方法请参考文档
4.1.0 发布介绍
- 新增 mxkv 用户自定义数据类型做 kv 存储,方便扩展附加字段,相比 JSON 类型性能更好。
- 支持 Kafka 数据接入和图形化操作界面。
- 提供分区自动化管理函数。用户可以自定义分区策略,后台进程自动完成分区管理。
4.0.3 发布介绍
- 增加多机安装可视化部署。
- 修复 MARS 增加分区的错误。
4.0.2 发布介绍
- MARS 压缩默认启用。
- 升级后 supervisor.conf 平滑过渡。
- gapfill 并行优化。
4.0.1 发布介绍
- 修复 build_timeseries_table 时未对列名做转义的错误。
- MARS 引擎优化。
4.0.0 发布介绍
YMatrix Database 4.0.0 已正式发布,新版包括如下新特性:
- MARS 引擎
MARS 引擎是自研的存储引擎。该引擎包含如下特性:
- 列式存储
- 数据编码和压缩
- 聚集下推优化
- 无索引扫描的优化
在时序场景中,适合存储历史冷数据,基于时间戳的聚集查询性能极高。
MARS 目前只支持插入,不支持更新和删除。
- 多节点自动化部署
在 YMatrix Database 3系统单节点自动化部署的基础上,实现了多节点自动化部署。包括:
- 添加集群节点
- 配置每个节点 Segment 数量
- 配置是否启用数据自动镜像
只用不到 5 分钟,即可部署好一个集群。
具体使用方法请参考YMatrix Database 4集群部署。
- 冷热分级存储 UDF 为方便用户为时序表建立分区、维护分区表、冷热数据转换,实现了关于创建分区模板、建立分区、替换冷热分区的一整套管理接口。
具体使用方法请参考冷热分级存储。
- time_bucket_gapfill 时序组件 MatrixTS 中,在 time_bucket 函数基础上,增加了 time_bucket_gapfill 函数。可以为缺失的时间间隔按照规则填充。
目前支持两种填充规则:
- locf:用聚合组中之前出现的值填充。
- interpolate:对缺失的值做线性插值填充。