YMatrix 文档
关于 YMatrix
标准集群部署
数据写入
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
Primary - Mirror 分布策略
本文档介绍了 YMatrix 数据库系统中的镜像分布策略。
部署 YMatrix 数据库系统时,可以在主机上配置镜像节点(Mirror)。
- 功能:
- 当数据主节点(Primary)宕机的时候,Mirror 可以将数据库查询转移到备份节点上。
- Mirror 通过将数据从 Primary 同步到 Mirror 的事务日志复制进程保持同步。
- 最佳实践:
- 每个 Mirror 节点实例必须与其对应的 Primary 节点实例部署到不同的机器,以防止单机故障带来的影响。
注意!
Mirror 机制在生产环境中强烈建议开启。
1 Greenplum 镜像分布策略
在阐述 YMatrix 的镜像分布策略之前,我们先以 Greenplum 的镜像分布策略作为背景知识进行铺垫和引入。Greenplum 可使用两种标准的镜像配置:组镜像分布(Group Mirroring)和散列镜像分布(Spread Mirroring),其中组镜像为其默认的配置。
1.1 散列镜像分布
散列镜像分布会把每台主机的 Mirror 散布到集群中剩余的主机上,并且要求集群中的主机数量比每个主机上的Primary 数量多。
要确保平均散布,阵列中独立主机的数量必须大于每台主机上的节点示例数量。
1.2 组镜像分布
组镜像分布会把同一个主机上的 Primary 的所有 Mirror 看作一组,一同放置在集群中的另一台主机上。
这是 Greenplum 的默认镜像分布策略。
2 YMatrix 镜像分布策略
YMatrix 默认采取环状镜像分布策略(Ring Mirroring):即在至少有两台主机的情况下,将一个主机中的 Primary 序号序列看作一个一维纸带,从中间对折,然后在另外的主机上从对折的中间序号为起点,顺时针均匀排列 Mirror 到其他主机。
扩容增加新的 Primary 不会影响之前已分布完成的镜像闭环,而是开启一个新的镜像环。
这是 YMatrix 的默认镜像分布策略。
此策略取上述两种策略利弊中和,是一个折中的方法。三种策略的对比请见下表:
散列分布 | 组分布 | 环状分布 | |
---|---|---|---|
系统稳定 | 不稳定 | 稳定 | 较稳定 |
负载均衡 | 均衡 | 不均衡 | 较均衡 |
注意!
如果你想要在 YMatrix 中使用除 Ring 策略以外的镜像分布策略,那么可以通过自定义配置 mxaddmirrors 实现。