GBase 8a 集群的 failover和event的区别

GBase 8a数据库集群支持高可用机制,为确保集群一致性,但主备之间出现不一致时,设置event,由gcrecover进程负责进行同步。而在某些操作意外中断,可能产生残留时,通过failover机制,由其它进程接手做扫尾工作。

目录导航

event

如主备节点出现不一致,或者数据读取故障,则设置该表的这个分片状态为1。根据不同的错误类型,分为

dmlevent 数据内容不一致
ddlevent 元数据不一致,或者表结构不一致
dmlstorageevent 数据存储异常,一般是磁盘物理损坏或者数据文件checksum错误。

这个event,由系统的gcrecover进行处理。

通过集群管理命令
gcadmin showdmlevent
gcadmin showddlevent
gcadmin showdmlstorageevent
查看当前event情况,详情请参考

GBase8a MPP Cluster查看集群数据不一致的详情

failover

当一个操作在发起端gclusterd出现意外时,为了确保影响到的数据的一致性,设置failover, 由其它gclusterd进程负责检查故障操作设计的表的一致性。

如发现不一致,比如在commit阶段,部分分片成功了,那么根据主备比例,采取对不成功的分片设置1进行同步,或者对少量已经commit的分片进行强制回滚。

最终确保所有节点全部成功或者全部失败。

通过集群管理命令

gcadmin showfailover

查看详情。