GBase新闻

专注于数据库软件产品和服务,致力于成为用户最信赖的数据库产品供应商

GBASE数据库高可用技术保障用户系统稳健运营

发布时间:2023-11-01

数据库高可用(High Availability)是指数据库系统在面对硬件或软件故障时仍能保持持续可用的能力。其对用户的正常运营和数据管理具有重要意义,一旦缺失则可能造成无法估量的重大损失和严重后果。如:数据库故障或停机,将使得业务系统无法进行正常的数据存取,从而导致用户的业务中断,影响用户的正常运营;缺乏有效的备份和冗余机制,可能导致重要数据的永久丢失,对用户而言,数据丢失不仅意味着损失重要信息,而且可能带来法律合规的问题;故障恢复时间太长,当数据库出现故障或停机时,恢复过程可能会非常漫长和复杂,导致期间无法进行正常业务操作。因此一套成熟的企业级数据库系统必须要有完善的数据库高可用机制。

数据库高可用保障着业务连续性,能够在节点故障发生时快速切换到备用节点或系统,减少业务中断的时间和影响;保障数据安全性和完整性,通过数据冗余、故障检测和故障恢复等机制,防止数据丢失和损坏。高可用数据库需具备快速的故障恢复能力,能够迅速切换到备用系统或节点,降低故障对业务的影响,提高系统的容错性和可靠性。

数据库如何达到高可用?简而言之靠两部分支撑:冗余和管理。数据冗余也可以称为数据复制(因为主要实现机制是数据复制,当然也有通过写多份来实现的,本文只关注数据复制),是高可用实现的基础,数据存储多份,当有一个或者一部分节点发生故障,其他节点依然有备份数据提供支持。高可用管理是对高可用实现的统筹编排与管理,负责状态判断,故障切换等工作。数据库高可用功能如下图所示。

1. 数据复制/冗余:数据复制通过在多个节点上复制和同步数据,可以提供冗余备份和容错能力。

2. 高可用架构:依照用户需求设计高可用架构,确保系统在面对故障或异常情况时能够保持可靠的运行和服务,一般分为集中式和分布式。

3. 负载均衡:将用户请求合理分发到不同的数据库节点,确保每个节点的负载是均衡的状态。

4. 自动故障检测:监测数据库节点的状态,一旦发现节点故障,自动触发故障切换,将请求切换到备用节点或系统上,最大程度地减少故障对业务的影响,实现快速的故障恢复。

5. 故障切换:当节点发生故障时,可以自动将请求切换到其他健康的节点上,实现故障切换和持续的服务。

GBASE南大通用专注于数据库软件产品和服务,公司GBase系列数据库产品均拥有成熟的数据库高可用技术和方案,满足金融、电信、政务、能源、交通、国防军工等行业应用,为用户业务提供不间断的数据库服务。其中:

  • GBase 8a是南大通用自主研发的面向商业分析和商业智能市场成熟的分析型MPP数据库。GBase 8a的高可用机制包括数据冗余、多级别高可用架构、高可用管理等。

数据冗余:

  • 可提供1个或3个副本数据冗余。

  • 副本间数据自动同步。

  • 多分片机制降低节点故障的木桶效应。

  • 集群副本数和分片数可进行灵活配置,可配置副本分片到集群的任意一个节点上,可以根据配置在主机性能高和存储空间大的节点分配更多的主本和副本。


多级别高可用架构:

  • 节点级别高可用,调度节点(GCluster)通过 Failover 机制保障执行 SQL 的数据一致性。管理节点(GCware)通过虚同步机制保障集群元数据的一致性。计算节点(GNode)通过自动同步来保障主副本数据的一致性。

  • 双活集群架构,支持两个同构集群间的准实时数据同步。M-S 架构同步,主集群数据可写,备份集群数据可查询。基于数据块的增量同步,针对于传统的基于逻辑日志的同步,大大提高海量数据同步的效率。

  • 虚拟集群镜像架构,支持两个镜像集群之间实时数据同步。虚拟集群的镜像集群支持数据实时一致性,互为镜像的两个集群同时写入。镜像表数据是数据的实时备份,对镜像集群任意一端发起数据变更都会实时同步到镜像表;主表有了镜像关系后,对于查询模块相当于主表多出了备份分片。查询模块可以利用多出的备份提升查询高可用能力;支持以库、表为单位创建和删除镜像关系。以库为单位时,库下所有表都将自动创建镜像;库下所有函数、存储过程和视图都会同步在目标镜像库下创建。

高可用管理:

  • 复制引擎自动管理数据同步。

  • 节点发生故障时,系统自动切换至其它节点进行工作,保证业务连续性,最大限度防止由于故障切换后木桶效应而引起的显著的性能抖动。

  • 节点故障对应用透明,不会中断正在执行业务,一旦故障节点恢复正常,GBase 8a会从其他节点上的数据恢复该节点数据,在完成更新后立即提供服务。

  • GBase 8s 是南大通用自主研发的、成熟稳定的企业级国产交易型数据库,拥有自主知识产权,产品安全级别达到EAL4级。GBase 8s的高可用可实现故障秒级切换,高可用等级99.999%,高可用机制包括数据冗余、灵活的高可用集群架构、高可用管理等。

 数据冗余:

  • GBase 8s采用逻辑日志复制技术实现节点高可用。

  • 逻辑日志的更新模式支持同步、半同步、异步模式。

灵活高可用集群架构:

  • 同城主备容灾高可用(HAC),RPO=0,RTO<30秒。

  • 异地灾备高可用(RHAC),RPO<100秒,RTO<5分。

  • 支持两地三中心高可用部署,远程容灾距离可达1000公里以上。

  • 支持数据库集群异地双活能力,保证双活集群间的数据一致性。

  • 集群主节点执行读写业务的同时,备节点可承担查询、报表等读业务。

高可用管理:

  • 所有的高可用能力均内置于数据库服务自身,不需要部署第三方组件,提升高可用方案的稳定性,降低维护成本。

  • 提供连接管理器(CM)部件,实现故障接管和负载均衡能力,且对应用透明。

  • GBase 8c是基于openGauss构建的一款多模多态的分布式数据库,支持主备式、分布式的高可用部署形态。GBase 8c主备式形态提供主备同步、异步以及级联备机多种部署方式;分布式形态集群全局无单点,高可用可达到99.99%,分布式集群支持两地三中心,支持异地多活,业务连续在线,数据永不丢失。

数据冗余:

  • 主备式高可用支持数据多副本冗余,主备副本之间通过日志进行数据交换,保证集群任意节点故障均不影响数据库对外提供服务,数据无丢失,满足ACID特性。

  • 分布式高可用采用分布式全组件冗余。

多态高可用架构:

  • 主备式高可用,支持数据多副本冗余,包括:协调器、数据节点、集群状态管理器、集群管理器,并且均做到了备份冗余。当主节点故障,备节点可以自动升级为主,并继续对外提供服务。该过程对应用透明,整个主备切换过程应用无感知,不影响对外服务。

  • 分布式高可用,在软件层针对分布式集群中的每个组件,均做了组件级冗余。

CN:协调器,采用完全对等的部署方式;多个CN做服务冗余,支持负载均衡;

DN:数据节点,采用主备的高可用架构,主备之间可以配置同步或异步方式;

GTM:全局事务管理器,采用主备的高可用架构,主备之间可以配置同步或异步方式;

HA Center:集群状态管理器,采用Raft的复制协议;

GHA Server:集群管理器,采用主备的高可用架构,主备之间可以配置同步或异步方式。

  • 高可用多种方案可以满足各种应用场景下对数据库的不同需求,包括同机房容灾、同城容灾、异地灾备、异地多活等。

高可用管理:

  • 全局事务管理器管理数据库分布式强一致事务,对于追求性能的新兴数据库业务,也可实现强一致事务,而不是最终一致性;

  • 集群状态管理器存储各个节点的高可用状态,负责在故障情况下判断集群各个节点状态,自身基于RAFT复制协议;

  • 集群管理器,用以管理整个集群各个节点的高可用状态(主备、是否宕机等)。

数据库的高可用性对于用户系统稳健运营至关重要。南大通用GBASE数据库通过实现数据复制、自动故障检测和切换、负载均衡和故障切换等高可用冗余和管理机制,保障各行业用户业务7*24小时稳定、连续正常运行。

数据库高可用提升永无止境,南大通用将继续努力不断改进,打磨适于用户应用的安全稳定的数据库产品、解决方案和服务,满足客户的需求和期望,也为国家信息技术产业的发展贡献力量。