大家好,这里是公众号 DBA学习之路,分享一些学习国产数据库路上的知识和经验。
南大通用 GBase 8s 集群模式共分为三种:
大胆猜测一下 GBase 8s 集群和 Oracle 的对标关系:
本文简单介绍三种集群的架构以及原理,这三种集群模式可以共同构建两地三中心的使用场景。

记得点击 "DBA学习之路, 设为星标⭐
后台回复【进群】,申请加入数据库学习交流群

GBase 8s 共享存储高可用集群(SSC),采用共享磁盘方式实现节点高可用,数据仅存储一份,有效利用硬件资源,避免数据重复存储问题。
SSC 集群有以下特性:
集群为主控对等管理模式,查询时访问本地缓存,无网络开销,线性扩展性良好,集群节点数最多可达 128 个,所有节点均可读写。当主控节点失效时,辅助节点可以升级为主控节点,保障系统的高可用。SSC 集群操作简单、成本低无需额外硬件支持。
如上图,在共享存储集群中:
SSC 集群缓存采用各节点独立架构,各节点上数据缓存不一定相同。当主节点有数据更新时,通过传递页号的方式通知各辅助节点,辅助节点接到通知后,更新自己的数据缓存,以保障数据缓存的一致性,不存在过期的数据页。当访问缓存时,缓存全部在本地,不存在网络开销。
SSC 共享存储支持裸设备,也支持 NFS、GFS 等共享文件系统。此外 SSC 集群可与 HAC、RHAC 集群共同构建两地三中心的使用场景。SSC 适合大型业务系统,在仅一个存储的基础上,各节点间能够保障数据高度一致。也可用于需要高可用、高性能和负载均衡的交易系统等。
HAC 为一主一辅两节点高可用集群,采用日志同步的方式来保障节点间数据的快速同步。主节点执行读写业务的同时,备节点可承担查询等读业务。HAC 具有安装简单、应用透明无感知、故障自动切换、无须额外付费等特点。为了提升性能,集群采用缓冲区内存同步,再到辅节点回放的方式。日志同步的同步模式包括:同步模式、半同步模式、异步模式。
主服务器的逻辑日志缓冲区的内容将复制到共享内存的数据复制缓冲区并清空到磁盘。如果主服务器使用的是完全同步或接近同步方式,那么它必须接收到来自 HAC 辅助服务器的确认,然后才能完成逻辑日志清空。主服务器启动日志发送线程以将数据复制缓冲区通过网络传输到辅助服务器的日志接收线程,然后该线程会将数据写入共享内存的接收缓冲区。日志重做线程将接收缓冲区复制到恢复缓冲区。辅助服务器使用日志恢复线程来重做日志。两节点通过心跳机制发送并接收消息以监视两个服务器之间的连接。
主数据库服务器可使用三种同步方式将数据复制到 HAC 辅助服务器:
异地容灾集群(RHAC)与同城两中心 HAC 集群架构上基本相同。不同之处是发送缓冲区与接收缓冲区之间的同步,采用了服务器多路复用器组件(SMX)技术。SMX 是支持高可用性环境中各服务器之间的多路复用网络连接的通信接口。其为数据库服务器实例之间提供可靠、高性能通信机制。
不同于 HAC 完全同步方式或接近同步的方式,RHAC 主节点在发送下一个缓冲区之前不需要来自备节点的确认。在日志发送线程等待日志接收线程接收来自辅节点的确认之前,主节点最多可发送 32 个未确认的数据复制缓冲区。
由于异地之间网络带宽、延迟和质量都较同城之间有较大差异,因此异地之间的复制难点在于稳定可靠的传输日志和事务完整性保障,也因此 RHAC 设计中采用异步高可靠传输机制。
RHAC 集群最多支持 256 个辅节点,安装部署简单快捷,且无须额外付费。用户可根据需求自由添加、删除 RHAC 节点,RHAC 节点和 HAC 节点类型可相互转换。集群对带宽和网络延时要求宽松,更适合节点分布多、节点距离跨度大、对网络带宽要求相对较低的业务场景系统。与 SSC、HAC 集群结合共同构建两地三中心的解决方案。
GBase 8s 提供了丰富且成熟的高可用解决方案,包括同机房高可用方案、同城高可用方案、异地高可用方案以及两地三中心高可用方案等,适应不同业务场景的需求。
GBase 8s 的同城灾备集群能够实现零数据丢失,异地灾备方案也可以达到几乎零数据丢失,并支持分钟级快速切换,确保业务连续性。
在实际项目中,可以根据需求灵活组合不同的集群方案,例如:
这种组合方式有效规避单一方案的局限性,实现优势互补,进一步提升系统的稳定性和容灾能力,目前已广泛应用于各行各业。
GBase 8s HAC、RHAC、SSC 高可用集群,可以根据需求进行进行组合部署。具体部署策略可参考下方内容:

SSC+RHAC 集群为 GBase 8s 两地三中心最佳实践方案,SSC 集群集群切换后可避免数据丢失,RHAC 为完全异步集群,保证数据同步的同时,最大限度降低对主节点影响。
以下是一个实际案例,展示了 GBase 8s 数据库在高并发和高可用场景中的应用。
项目背景:
A 项目中,客户提出以下要求:
解决方案:
在此项目中,可以设计以下架构:
cm2 部署在 SSC 辅节点,作为最高优先级仲裁 CM。cm2 不可用,次高优先级的cm1 自动提升为仲裁 CM。效果:
以下为架构示意图:
该项目上线之后,取得了非常不错的效果。
HAC+RHAC 集群是 GBase 8s 提供的一种成熟高可用方案,其中 HAC 节点采用同步更新,RHAC 节点采用异步更新,进一步提升了系统的高可用性。
以下是一个已实施并上线的项目案例:
项目背景
B 项目主要目标是国产化替代,用自主可控的国产数据库替换国外数据库。客户对系统提出了以下要求:
现状与挑战
原系统采用 2 节点双活架构,业务并发量极高,总数据量超过 TB 级,涉及用户数超千万。
解决方案
GBase 8s 提供了 HAC+RHAC 集群高可用架构,具体实现如下:
cm2 部署于 HAC 辅节点,设置为最高优先级仲裁 CM。cm2 不可用,次高优先级的cm1 自动提升为仲裁 CM。实施效果
以下为架构示意图:
此项目上线也取得了非常优异的效果:此项目中,为了平滑迁移,通过采用 HAC+RHAC 三节点部署模式,通过同步+异步的数据同步模式,提升了集群灾备高可用能力,同时借助读写分离模式,HAC 辅节点分担了主节点的读负载,保证了主节点的资源利用。满足 RPO=0,RTO<60s 的高可用能力。
SSC+HAC 集群是 GBase 8s 在高可用方案中非常适合城市轨道交通项目的一种常用架构。该方案特别适用于对数据库性能要求高、并发量大、实时事务处理需求强且备份与灾备中心位于同城的项目。
在 C 项目中,生产云主中心及各站点部署了 SSC+HAC 方式,实现了高可用集群功能。
架构优势
SSC 和 HAC 各自的特点在该架构中得到了充分发挥:
SSC 集群特点:
HAC 集群特点:
实施效果
以下为架构示意图:
此案例上线至今,未出现任何异常。
此小节将介绍 GBase 8s 三种集群同时使用的情况下,逐个发生灾难时的应对策略和方法。为了展示故障的复杂性和数据库集群面对复杂故障时的高可用性,我们搭建了 SSC+HAC+RHAC 的高可用集群。示例中,我们在北京搭建了两个数据中心,在 A 数据中心通过共享盘的方式部署了 SSC 集群。在北京 B 数据中心部署 HAC 节点,在上千公里的上海部署 RHAC 节点。架构图如下所示:
现在假设主节点发生故障,则北京 A 数据中心的某个 SSC 辅节点会升为主节点。如下图所示:
如果发生的是区域性故障,北京 A 数据中心都不能对外提供服务,那么北京 B 数据中心的 HAC 节点会升为主节点。如果有需求,还可以将北京 B 数据中心中添加 SSC 集群。如下图所示:
如果北京 B 数据中心也发生故障,且此高可以方案中发生故障的节点均无法恢复,那么远在上海的数据中心会接管应用的访问,继续对外提供服务。如下图所示:
通过两地三中心的集群部署,GBase 8s 不仅满足了金融业务的高安全性和高可用性需求,还提供了良好的性能扩展性。在这个数据驱动的时代,GBase 8s 数据库集群技术将成为金融业务的坚实后盾。
GBase 8a MPP 集群部署最佳实践
GBase 8a GDCA 认证课后练习题大全(题库)
南大通用 GBASE 8s V8.8 数据库最全安装指南
GBase 8s GDCA 认证课后练习题大全(题库)
GBase 8s 数据库巡检报告及一键巡检脚本
原文作者:DBA学习之路;如有侵权,请联系管理员删除。