各位
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 的产品演进、产品架构和高可用特性,相信阅读至此,您已经对此款产品的历史及功能有了一些了解,那么一款如此性能的数据库实际应用情况是什么样子呢?在接下来的几期中,将结合多年的客户实践来一一为您揭晓。