YMatrix 文档
关于 YMatrix
标准集群部署
数据写入
数据迁移
数据查询
运维监控
参考指南
- MPP 架构
- 镜像分布策略
- 持续聚集
- 滑动窗口
- 全文搜索
- Grafana 监控指标解读
- Prometheus 监控指标解读
- 术语表
-
工具指南
- mxaddmirrors
- mxbackup
- mxbench
- mxdeletesystem
- mxgate
- mxinitstandby
- mxmoveseg
- mxpacklogs
- mxrecover
- mxrestore
- mxshift
- mxstart
- mxstate
- mxstop
- gpconfig
- pgvector
-
数据类型
-
存储引擎
-
执行引擎
-
流计算引擎
-
灾难恢复
-
系统配置参数
- 使用说明(必读)
- 参数目录
- 文件位置参数
- 连接与认证参数
- 客户端连接默认值参数
- 错误报告和日志参数
- 资源消耗参数
- 查询调优参数
- 运行中的统计信息参数
- 自动清理参数
- 数据表参数
- 锁管理参数
- 资源管理参数
- YMatrix 数据库集群参数
- 预写式日志参数
- 复制参数
- PL/JAVA 参数
- 版本和平台兼容性参数
-
索引
-
扩展
SQL 参考
- ABORT
- ALTER_DATABASE
- ALTER_EXTENSION
- ALTER_EXTERNAL_TABLE
- ALTER_FOREIGN_DATA_WRAPPER
- ALTER_FOREIGN_TABLE
- ALTER_FUNCTION
- ALTER_INDEX
- ALTER_RESOURCE_GROUP
- ALTER_RESOURCE_QUEUE
- ALTER_ROLE
- ALTER_RULE
- ALTER_SCHEMA
- ALTER_SEQUENCE
- ALTER_SERVER
- ALTER_TABLE
- ALTER_TABLESPACE
- ALTER_TYPE
- ALTER_USER_MAPPING
- ALTER_VIEW
- ANALYZE
- BEGIN
- CHECKPOINT
- COMMIT
- COPY
- CREATE_DATABASE
- CREATE_EXTENSION
- CREATE_EXTERNAL_TABLE
- CREATE_FOREIGN_DATA_WRAPPER
- CREATE_FOREIGN_TABLE
- CREATE_FUNCTION
- CREATE_INDEX
- CREATE_RESOURCE_GROUP
- CREATE_RESOURCE_QUEUE
- CREATE_ROLE
- CREATE_RULE
- CREATE_SCHEMA
- CREATE_SEGMENT_SET
- CREATE_SEQUENCE
- CREATE_SERVER
- CREATE_STREAM
- CREATE_TABLE
- CREATE_TABLE_AS
- CREATE_TABLESPACE
- CREATE_TYPE
- CREATE_USER_MAPPING
- CREATE_VIEW
- DELETE
- DROP_DATABASE
- DROP_EXTENSION
- DROP_EXTERNAL_TABLE
- DROP_FOREIGN_DATA_WRAPPER
- DROP_FOREIGN_TABLE
- DROP_FUNCTION
- DROP_INDEX
- DROP_RESOURCE_GROUP
- DROP_RESOURCE_QUEUE
- DROP_ROLE
- DROP_RULE
- DROP_SCHEMA
- DROP_SEGMENT_SET
- DROP_SEQUENCE
- DROP_SERVER
- DROP_TABLE
- DROP_TABLESPACE
- DROP_TYPE
- DROP_USER_MAPPING
- DROP_VIEW
- END
- EXPLAIN
- GRANT
- INSERT
- LOAD
- LOCK
- REINDEX
- RELEASE_SAVEPOINT
- RESET
- REVOKE
- ROLLBACK_TO_SAVEPOINT
- ROLLBACK
- SAVEPOINT
- SELECT INTO
- SET ROLE
- SET TRANSACTION
- SET
- SHOW
- START TRANSACTION
- TRUNCATE
- UPDATE
- VACUUM
常见问题(FAQ)
版本发布历史
6.2.2 发布介绍
发布日期:2025-01-10
增强与改进
- MatrixShift
- 如果配置文件没有指定任何迁移动作,只打开 verify 功能时,对一个非 mxshift 迁移过来的数据库新增报错提示 (#IBFVMM)
- 当配置文件的 scope 段落里,存在重复的表或者父表和某些子表同时出现在 table-list 中时,新增自动去除重复的表且报出 warn 警告的能力 (#72ffcea)
- MatrixGate
- mxgate 到 segment 节点之间的数据传输调整为默认不启用压缩,以节省更多的内存资源。原默认值为启用压缩 (#IBD0PW)
- transfer 模式下,允许 mirror 节点为 Down 状态时迁移数据 (#IBCQPB)
- mxbox
- 当 mxrecover 在跳过某些 shard 时,新增跳过原因输出 (#IB4NJD)
- 用 mxrecover 对集群进行 rebalance 操作时,可通过添加
CHECKPOINT
缩短该操作带来的数据库停机时间,同时可通过增加--skip-checkpoint
参数跳过此行为 (#IBCVOL) - 用 mxrecover 对集群进行 rebalance 操作时,改进了该命令在控制台的输出内容格式 (#IBCVOS)
- mxrecover 增加
--prepare-timeout
参数。在 mxrecover 启动时,可通过 etcd 采集集群状态信息的超时情况, 默认为 1 分钟 (#IBCVOS)
- mxctl
- 当安装部署时,mxctl setup collect 命令会检查 localhost 是否可以被解析为一个本地 loopback 地址,如果不能则报错 (#IBDM77)
错误修复
- MatrixShift
- 修复了迁移没有任何字段的表时会报错的问题 (#IBFVQP)
- 修复了当迁移 DDL 时,如果创建的函数里,被引用的表或其他数据库对象已经不存在,会导致创建函数报错的问题 (#d51821f)
- MatrixUI
- 修复了自助巡检功能报告版本号不正确的问题 (#IBD0YZ)
- mxbox
- 修复了 DR 从 segment 读取 WAL 时可能会出现卡住的问题 (#216abca3)
- 修复了加入非平衡部署后 vmem protect limit 计算的逻辑问题 (#1b30eb0c)
- 修复了系统启用 mxmgr 的监控功能,mxdeletesystem 时没有删除监控相关的服务进程的问题 (#IBB9SM)
- 修复了 mxdeletesystem 时,如果物理机集群内的某些主机上没有 segment,会导致该主机上的一些服务(shard 和 cluster)残留的问题 (#63c34070)
- 修复了用 mxrecover -r 同时恢复 master 和 data shard 时,有小概率超时的问题 (#IBD71J)
- 修复了 replication 服务停止 postgres 实例时,有概率会出现 NotFound 错误的问题 (#IBD8H7)
- 高可用
- 修复了当主节点 (Primary) 发生网络分区问题, Mirror 被晋升为 Primary 后,原 Primary 恢复正常带来双 Primary 时,错误地保留了原 Primary 的问题(应该杀死原 Primary 保留被晋升的 Mirror)(#IBE2HF)
- 修复了当 mxstart 启动一个 primary 时,若此 primary 已经正常运行,导致错误地打断启动过程的问题(#986b5588)
- 修复了当 mxstop 停止一个 primary 时,若此 primary 已经停止,导致错误地打断停止过程的问题(#986b5588)
- 修复了当数据库发生意外停机并恢复后,小概率造成自动分区卡住不工作的问题 (#IBDSBY)
6.2.1 发布介绍
发布日期:2024-12-20
增强与改进
- mxbox
- mxstart 的默认超时时间从1分钟增加到5分钟。仍然支持用户用 -t 参数自定义超时时间。(#9ab2957c)
- 支持用户自定义 postmaster 进程启动时的环境变量。(#39575ad3)
- 当集群出现 double failure 时,允许通过重启数据库启动最近的 primary 节点,而不是启动失败。(#ab0b920a)
- 提升了 supervisor 服务和 etcd 进程的 max open files 数,解决了在超大规模集群下 etcd 服务频发 too many open files 错误的问题。(#6ca5293dcd0)
- 新部署集群时,在 supervisor 的服务配置里删除了 etcd 服务的 --enable-pprof 参数,使得 etcd 的服务更稳定,cpu 占比更低。(#ae00e5a)
错误修复
- mxbox
- 修复了集群部署时,当一台机器有多个数据节点时,自动配置的
gp_vmem_protect_limit
默认值计算过大的问题。(#5253cbbb) - 修复了当 replication 服务对 postmaster 进行 probe 时,postmaster 刚好意外崩溃,有几率导致 replication 服务 hang 住的错误。(#ab77de4e)
- 修复了集群部署时,当一台机器有多个数据节点时,自动配置的
6.2.0 发布介绍
发布日期:2024-12-09
增强与改进
- MatrixUI
- 安装部署或者扩容新机器时,会主动检查 /etc/ssh/sshd_config 中是否含有 AllowUsers/AllowGroups/DenyUsers/DenyGroups 等可能会导致安装过程中集群内主机 ssh 互信操作失败的配置项目,并给出具体的错误信息和修改提示 (#IB80HF)
- MatrixShift
- 对配置文件引入更严格的检查,错误的配置项会在 mxshift 启动时报错并提示。例如 disable-connector = true 应该写在 [scope] 段落中,但错误的写在其他段落中,mxshift 启动时会报错并提醒 (#IB5002)
- mxbox
- moveseg / initstandby 工具可以检测 --add 子命令添加的主机是否已经在物理机集群里,并给出错误信息 (#5e39499c)
- 主机重启或首次运行 YMatrix 集群时,能够自动创建资源组 cgroup 依赖的相关路径 (#IB5G9O)
错误修复
- MatrixUI
- 修复了查询负载页面中,calls_end 值 sum 之后为 0 导致查询报错的问题 (#IAMZI0)
- 修复了集群拓扑发生变化时,MXUI 未能重新部署 mxui collector 指标采集进程的问题 (#IB8BTF)
- MatrixGate
- 修复了个别环境下,YMatrix 集群重启后,mxgate 无法继续从 kafka 消费到数据的问题 (#IB6HEL)
- MatrixShift
- 修复了 DDL 迁移时,ALTER MATERIALIZED VIEW 语法错误问题,支持 GP6 的 MATERIALIZED VIEW 语法迁移 (#3ba9664)
- mxbox
- 修复了缓存导致 shard 状态不更新的问题 (#d5844a19)
- 修复了当 etcd compaction 会导致元信息的当前版本被淘汰的问题 (#6c5c7c5e)
- 修复了当网络分区异常恢复后,处于异常状态的 primary 节点无法被及时停止的问题 (#695d45fe)
6.1.1 发布介绍
发布日期:2024-11-19
增强与改进
- MatrixGate
- mxgate 优化:支持将 segments 连接超时作为可配置的 GUC (#IB25VC)
- MatrixShift
- mxshift 优化:/tmp 没有权限时使用 data dir (#IB0UY1)
- mxbox
- 支持自定义非平衡部署 (#IAVBH5, #IAVCE2, #IAVFBE, #IAVDNP)
- MatrixUI(文档)
- 支持自定义非平衡部署的 UI (#IAVXM5)
6.1.0 发布介绍
发布日期:2024-10-31
增强与改进
-
MatrixShift
- mxshift 优化:从 gp6 数据迁移能够跳过 external table(#IB0IUE)
- mxshift 优化:compresstype 从 zlib 自动映射为 zstd 时,compresslevel 强制置为 1(#IB0GA9)
-
灾难恢复
- 删除了 subscriber 配置文件中无用的配置项 slot
- 调整了日志中的内容
错误修复
- MatrixShift
- 修复创建 type 为 "COLLATABLE" 字段类型时报错的问题
6.0.0 发布介绍
发布日期:2024-10-11
新特性发布
2. 流批一体架构
- 数据库融合流处理和批处理优势,支持实时数据和历史数据的并行处理。
- 新增灾难恢复集群(文档)
- 支持跨数据中心的数据传输与同步
- 支持灾难恢复集群的运行状态监控。
- 支持手动将备份集群切换为服务集群,可将应用全部切换至此集群进行业务正常运行。
- 此灾难恢复集群的容灾指标如下:
- RPO(Recovery Point Objective,恢复点目标)
用户可以指定一个相对合适的值以便在不影响源集群性能的情况下将此目标设置到分钟级。 - RTO(Recovery Time Objective,恢复时间目标)
支持数据库热备实现,RTO 可达秒级~分钟级。
- RPO(Recovery Point Objective,恢复点目标)
性能增强
-
TP 性能增强
- 新增支持 Blocksize 8K,可配置数据块(block)为 8KB,大幅提升小数据量事务处理性能。
-
MARS3 存储引擎增强
- 新增支持 unique key,upsert,row-level lock 能力。
-
向量化引擎增强
- 新增支持 Window Function 向量化。
已知问题
-
分区较多时,查询会触发数据库 OOM。
-
在 KILL QUERY 的场景下,recovering 过程可能会出现 crash 问题。