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)
主备切换方法
注意!
灾难恢复能力在 YMatrix 6.0.0 版本中仅作为实验性功能。
当灾难发生时,若主集群侧所有机器物理不可用,此时用户只能在备份集群侧进行操作。
主备切换完成后,备份集群的数据内容不在与主集群保持一致,且无法再次切换回备份集群角色。
操作备份集群
-
在备份集群的 Master 机器,以
mxadmin
的用户身份,执行mxdr switch
或mxdr switch -a
命令进行主备切换。a. 若使用
mxdr switch
进行切换的过程中,会产生以下对话,需再次确认是否进行主备切换。Continue promoting cluster for disaster recovery to normal cluster? Yy|Nn (default=N):
b. 若使用
mxdr switch -a
进行切换,则可以跳过上述的对话确认过程。
操作 Publisher
- 在 Publisher 机器,以
mxadmin
用户身份执行以下命令,以获取 supervisor 管理的 Publisher 的name
。
supervisorctl status
输出结果如下图所示,本例中 name
为 publisher_5V967HARnCHfRMTeyiLQgS
。
- 获取
name
之后,执行以下命令用来停止Publisher
。
supervisorctl stop publisher_5V967HARnCHfRMTeyiLQgS
- 最后执行以下命令,检查 Publisher 状态是否变为
exited
。
supervisorctl status
示例:
切换后的数据库集群使用
- 灾难恢复切换后,备份集群的 YMatrix 数据库集群切换为主集群角色提供正常服务,此时该集群的使用方式与正常 YMatrix 数据库集群使用方式一致。
- 数据库服务的应用可以切换连接至主备切换后的主集群继续进行正常服务。
- 如果对集群有高可用需求,可以添加 standby 和 mirror segments 来实现 YMatrix 数据库集群的高可用功能。
备注
命令行工具
该部分提供了有关灾难恢复功能的命令行操作工具。
-
mxdr
mxdr
命令用于运行 Subscriber 和 Publisher,以及控制备份数据库集群的切换。Usage: mxdr [flags] mxdr [command] Available Commands: completion Generate the autocompletion script for the specified shell help Help about any command switch Promote disaster recovery cluster Flags: -c, --config-file string path of the configuration file to start up -h, --help help for mxdr -s, --shard-cnt int number of shards of the source database cluster -v, --version version for mxdr
-
mxbox deployer dr
mxbox deployer dr
用于部署灾难恢复组件和备份集群。Usage: mxbox deployer dr [command] Available Commands: pub Publisher deployer for dr Flags: -h, --help help for dr
Usage: mxbox deployer dr pub [command] Available Commands: config Generate a config template file plan Generate plan for migrating host. setup Execute steps to deploy physical publisher. Flags: -h, --help help for pub
已知问题
-
不支持增加分片的集群扩容
目前的灾难恢复功能尚未支持数据库集群拓扑发生变化的情况,因此不支持增加分片的集群扩容。 -
备份集群的只读查询结果不保证一致性
备份集群的数据一致性只在全局一致性点处有效。
备份集群在在灾难发生进行主备切换后,会切换至一个全局一致性点,以保证备份数据的最终一致性。但在数据备份过程中,备份集群虽然支持只读查询,但由于各个数据片的日志播放同步粒度只控制在了全局一致性点的位置,并不能保证任意时刻查询结果的正确性。