GBase新闻
趣说GBase 8a数据库集群(三)—之高可用特性
各位GBase 8a的粉丝以及对其感兴趣的朋友,大家好,GBase 8a数据库集群是南大通用自研的的核心分析型数据库产品,在国内数据库行业特别是分析型数据库领域长期处于主导地位,历经13年时间演进与发展,GBase 8a产品随着客户的业务需求逐渐成长壮大,在金融、电信等行业得到规模化的应用,IDC报告与赛迪报告显示其位列国产分析型数据库市场占有率第一。本篇“趣说”也将和大家一起从满足客户主要需求的角度剖析一下GBase 8a的高可用特性。
以客户需求演进的GBase 8a
通过前面的两篇“趣说”,我们了解到GBase 8a MPP Cluster产品演进分为列存数据库阶段、MPP+列存数据库阶段和逻辑数仓LDW阶段;其架构分为三个主要的架构演进。
GBase 8a产品演进主要是随着客户在使用数据库的过程中,不断的提出新的需求,以满足上层业务系统的使用需要,在这些需求中,对集群可支撑的数据量、集群的计算性能包括加载性能和查询性能以及集群的高可靠性、高可用性和高稳定性需求是GBase 8a产品所面对的主要需求,为了满足这些需求,产品的架构也随之进行演进。
GBase 8a产品是随着客户的业务需求逐渐成长壮大的,每个成长阶段都肩负着对应阶段的历史使命,假若GBase不具备产品自主知识产权,不具备坚实的数据库理论知识库,不具备大型商业数据库软件的研发能力,不具备一定规模的研发团队,不具备客户对GBase的信赖,我们今天就看不到这样一款国产分析型数据库产品。
GBase 8a的高可用特性
经过多年的客户应用实践及总结演进,GBase 8a产品可以满足客户主要的高可用性需求,目前具备三个级别的高可用能力,分别是集群级高可用能力、集群节点级高可用能力和进程级高可用能力。
(一)集群级高可用能力
GBase 8a提供了两种技术实现集群级高可用,分别是数据同步技术和镜像集群技术。
对于数据同步技术,GBase 8a开发了一款数据同步工具,可以基于数据块进行增量同步,相比于传统的基于逻辑日志的同步,大大提高海量数据同步的效率,这款工具可以支持两个同构的GBase 8a集群间的增量数据同步能力,因此可以使用该工具构建双活集群,满足客户异地容灾需求,实现集群级的容灾管理。
镜像集群技术是GBase 8a产品满足客户同城双活集群需求研发一种技术,通过该技术在联邦架构的GBase 8a中实现了镜像集群功能,支持用户在GBase 8a中创建镜像集群,创建成功以后写入主集群的数据会实时同步到备份集群(或者称之为从属集群),对上层应用系统是透明无感知的,在此基础之上还可以提供读写分离特性,支持上层应用系统中的读操作访问备份集群,从备份集群读取数据,并支持双写。
GBase 8a集群级高可用能力可以满足客户容灾需求,双活集群需求和读写分离的需求。
(二)集群节点级高可用能力
GBase 8a集群包括三种类型的集群节点,分别是Gcluster节点、Gnode节点和Gcware节点。多个Gcluster节点构成Gcluster集群,也称之为调度集群,负责GBase 8a集群的调度管理,包括访问入口功能、统一鉴权功能、SQL解析功能等等;多个Gnode节点构成Gnode集群,也称之为存储计算集群,负责GBase 8a集群的数据存储和查询计算;多个Gcware节点构成Gcware集群,也称之为管理集群,负责GBase 8a集群元数据一致性、数据一致性的管理工作。
(1)Gcluster集群的节点级高可用
各个Gcluster节点之间是相互独立的,具有Failover功能,当一个Gcluster节点异常以后,其他Gcluster节点会通过Failover机制接管该节点正在处理的任务,保障通过该节点接入而正在执行SQL的数据一致性,可以说,只要存在一个正常运行的Gcluster节点,GBase 8a集群即可对外正常提供服务能力。
(2)Gnode集群的节点级高可用
Gnode节点存储GBase 8a集群数据的多副本,采用多副本时,具备Gnode节点级的高可用。例如部署3副本时,每份数据有三个副本,其一致性由Gcluster集群和Gcware集群保障,每个副本位于一个Gnode节点上,对于每份数据而言,允许2个Gnode节点不提供服务的情况下,GBase 8a集群仍然可以通过余下的一份数据所在节点访问该数据,对外提供服务能力。
(3)Gcware集群的节点级高可用
Gcware集群通过raft协议保证集群数据的一致性,所以Gcware集群出现节点不可用时,只要剩余的Gcware节点数可满足raft协议计算所需的最少节点数即可,Gcware集群仍然可以提供服务。对于raft协议此处不做展开,感兴趣的小伙伴可以自学一下,网上的资料很多。
(三)进程级高可用能力
在GBase 8a的每个集群节点上运行着核心进程服务,包括GNode,GCluster,GCware等核心进程,这些核心进程都采用了实时监控技术被实时监控着,出故障后可及时恢复。
通过以上能力,GBase 8a产品可以有效满足客户高可用需求,多年以来GBase 8a一直以解决客户业务需求为目标不断演化发展,目前已经是国内数据库行业特别是分析型数据库领域长期处于主导地位的产品,以一种朴实的姿态为中国企业提供了一款成熟稳定、好用易用、性能极佳的分析型数据库,为数据仓库、数据集市、商用智能和决策支持系统等上层应用提供最坚实的底层支撑。
在近三期的“趣说GBase 8a数据库集群”中,已经分别为大家介绍了GBase 8a的产品演进、产品架构和高可用特性,相信阅读至此,您已经对此款产品的历史及功能有了一些了解,那么一款如此性能的数据库实际应用情况是什么样子呢?在接下来的几期中,将结合多年的客户实践来一一为您揭晓。