GBase 8a Mpp镜像表使用方法

简介

虚拟集群(简称vc)为满足用户镜像集群的要求,提出了镜像表功能,通过对表创建镜像关系,来实现集群间的主备备份。

创建镜像表前提条件

1)两个vc的distribution个数必须相同,最新的distribution上hashmap必须一致;

2)两个vc下必须先创建数据库,再使用镜像操作。

创建镜像表的三种形式

1、对单个表创建镜像关系

语句:alter table [vc1.db.]tablename create mirror to vc2 ;

对应取消镜像关系语句:alter table [vc1.db.]tablename delete mirror;

说明:该语句仅对指定的表创建了镜像关系,该表在两个vc下互为备份;

2、以库为单位批量创建镜像关系(alter database create mirror)

语句:alter database [vc1.]dbanme create mirror to vc2;

对应取消镜像关系语句:alter database [vc1.]dbanme delete mirror ;

说明:1)该操作会将该库下已存在的表、存储过程、create function批量的在镜像vc下进行创建,视图、udf 、udaf、同义词不会创建。后续对存储过程与函数的修改与删除则只当前vc进行操作;

2)若有某些表创建失败,均会在warnings中提示,不影响后面其他表创建,该sql不会报错退出。

3、设置库的默认镜像属性(alter database set default mirror)

语句:alter database  [vc1.]dbanme set default mirror=’vc2’;

对应取消镜像关系语句:

alter database  [vc1.]dbanme set default mirror=’null’;

alter database [vc1.]dbanme delete mirror ;

说明:1)该操作是将两个库绑定了镜像关系,也就是在绑定镜像关系的库下创建的表均为镜像表;但该操作执行时,库下已存在的表不会被创建镜像关系;

2)设置默认库镜像关系后,在当前集群创建表t1,但镜像集群下已有同名表,此时在当前集群创建的t1成功,但该表为普通表非镜像表。

限制说明

1、镜像相关语句不支持failover,若执行过程中节点异常可能会导致存在残留文件,可以通过再次执行相关语句或加force的方式解决;

2、当vc不可用时,执行创建镜像关系语句报错;

3、dml或查询语句中只涉及一个表,主vc和镜像vc加起来有可用分片使得表可用,即可执行成功;dml或查询语句中涉及多个表,同一个distribution下的所有表均可用,才会执行成功,否则报错;

4、扩容镜像集群时,需要将两个vc创建相同distribution,在一个vc下执行rebalance操作;

5、节点替换时,需要集群层设置参数gcluster_rebalancing_ignore_mirror=1;

6、不支持表级的备份恢复

原创文章,作者:kirin,如若转载,请注明出处:https://blog.ytso.com/tech/bigdata/317847.html

(0)
上一篇 1天前
下一篇 1天前

相关推荐

发表回复

登录后才能评论