GBase 8a MPP Cluster的采用联邦架构,协调节点和计算存储节点均构成高可用集群,在单个服务器节点,无论是协调节点还是计算存储节点,磁盘故障或服务器节点故障时,集群会自动故障检测切换,不需人工干预,元数据和数据自动进行恢复,实现业务不中断,不影响对外服务,保障节点故障场景下无单点失败风险。
在集群中某一协调节点发生节点故障时,GCware首先会检测到该节点上的故障,并将这一故障状态通知给集群内其他协调节点,此时GCware会协调这个节点从集群成员中离开并调整集群构成的元数据信息更新。当节点故障发生后,如果对集群的某节点的GCluster(分布式任务执行调度器)发出加载和增、删、改和查询任务时,GCware会根据集群内的协调节点间的负载均衡机制,将本来分配给故障节点的任务转移到在其他协调节点来执行,这样就完成了对协调节点故障的故障转移(Failover),这样任何一个协调节点出现异常退出集群后,均能够保证集群数据的一致性,不会出现集群数据的不一致或丢失。
对于计算存储节点,由于与故障节点持有同一副本数据的其他节点保持有和故障节点相同的数据副本,所以当故障后任务转移至其他数据节点时,查询处理仍能返回与故障节点同样的查询结果集合。其中对于加载或DML操作等的故障转移,由于协调节点可以根据协调节点与数据节点的心跳将任务执行切换到与故障的数据节点持有同一副本数据的其他活动数据节点上执行,所以更新后的最新数据状态会在这个活动节点的数据上反映,同时GCware会将在故障的数据节点上丢失的更新操作通过日志形式在集群内的其他节点内保存,已备故障恢复后对故障恢复节点恢复数据时使用。
综上所述,当出现集群断电和重启、交换机故障等问题时,GBase 8a MPP Cluster能够保证数据的完整性和一致性。
GBase 8a MPP Cluster通过多分片和副本冗余机制来保证集群的高可用特性,集群中的表数据被切分为多个分片并存储在不同节点上,每个分片可提供1个或2个副本数据冗余,集群副本数和分片数可进行灵活配置,可以配置副本分片到集群的任意一个节点上,并且可以根据配置在主机性能高和存储空间大的节点分配更多的主本和副本。副本间会自动进行数据同步。
多分片机制降低节点故障的木桶效应;
节点发生故障时,系统自动切换至其它节点进行工作,保证业务连续性;
支持双活集群部署。
GBase 8a MPP Cluster的自动切换机制
节点故障对应用透明,不会中断正在执行的业务,可以将异常服务器的负载均匀分布在副本所在的几台正常的服务器上,一旦故障节点恢复正常,GBase 8a MPP Cluster会从其他节点上的数据恢复该节点数据,在完成更新后立即提供服务,这样就最大限度防止由于故障切换后木桶效应而引起的显著的性能抖动。