YMatrix 文档
关于 YMatrix
标准集群部署
数据写入
数据迁移
数据查询
运维监控
参考指南
- MPP 架构
- 镜像分布策略
- 持续聚集
- 滑动窗口
- Grafana 监控指标解读
- Prometheus 监控指标解读
- 术语表
-
工具指南
- mxaddmirrors
- mxbackup
- mxbench
- mxdeletesystem
- mxgate
- mxinitstandby
- mxmoveseg
- mxpacklogs
- mxrecover
- mxrestore
- mxshift
- mxstart
- mxstate
- mxstop
- gpconfig
- pgvector
-
数据类型
-
存储引擎
-
执行引擎
-
系统配置参数
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_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)
全库迁移工具 - mxshift
YMatrix 使用 mxshift 工具来进行全库数据迁移操作。
mxshift 工具目前支持以下功能:
- 全量迁移:以数据库为单位,实现从 Greenplum 4.3.X/5/6 / YMatrix 集群并行迁移数据表数据定义语言(DDL)及数据到新的 YMatrix 集群。
- 增量迁移:以表为单位,实现从 Greenplum 5/6 / YMatrix 集群并行迁移目标数据库中新增数据表的数据定义语言(DDL)及数据到新的 YMatrix 集群。
- 条件迁移:通过
WHERE
条件实现数据的条件迁移。 - 支持的数据分布策略:哈希分布、随机分布、复制表(REPLICATED)、Master-only。
1 mxshift 原理
如果将数据迁移过程比喻为水流从管道中流过,数据传输效率比喻为水流速率,那么水流速率时常会因为“管道中最窄的部分”而在整体上被局限在一个低值,出现所谓的“单点瓶颈”。
考虑到这一点,mxshift 工具实现了由 Segment 直接到 Segment 的数据传输,消除通常迁移操作中可能出现的单点瓶颈。在出现源集群与目标集群拓扑结构不一致,即异构情况时,mxshift 也可以根据源集群 Segment 个数、目标集群 Segment 个数、Segment 是否在同一台物理机等信息计算出最优映射方案,实现自动化数据迁移。
2 mxshift 用法
mxshift 以配置文件的方式运行。首先,编辑配置文件 config.toml
。
注意!
完整配置文件请见 mxshift。
$ vim config.toml
[database]
[database.source]
db-database= "testdb"
db-host="sdw3"
db-password="xxxx"
db-port=54322
db-user="mxadmin"
[database.target]
db-database="destdb"
db-host="172.16.100.32"
db-password="yyyy"
db-port=5432
db-user="mxadmin"
[scope]
install-dir="/usr/local/greenplum-db-6.7.1"
准备好 TOML 文件后,执行如下命令以启动 mxshift 进行迁移。
$ mxshift -c config_path.toml
注意!
mxshift 完整参数与用法请见 mxshift。