前言
高可用(High Availablity)是系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。数据库系统作为企业业务系统对外服务连续性的基础保障,其高可用能力越来越被关注。
星瑞格数据库管理系统(下文简称SinoDB)V16.8包含了若干可自由组件的组件,可以用于创建能够提供不间断连续服务的高可用集群系统,以将数据库系统的停机时间和维护成本降到最低。
一、SinoDB的高可用集群的种类
SinoDB提供了三种高可用集群,且这三种高可用集群可以任意组合部署,以满足企业业务系统的需要。
1、主备集群
SinoDB的主备高可用集群称为 HDR,由一个主节点(PRI)和一个备节点(HDR)组成。SinoDB HDR集群基于业务成熟的日志复制技术,把主节点的事务日志通过缓冲区同步到备节点,之后在备节点回放事务日志实现不同的SinoDB实例间的数据复制。
SinoDB HDR集群支持三种日志同步模式:完全同步模式、近线同步模式和异步模式。其中,完全同步模式可以最大化地保证主备节点之间事务和数据一致性,集群整体上的处理性能会受到稍许影响,异步模式异步地在主备节点之间传输事务日志,对主节点的处理性能没有任何影响,近线同步模式则介于二者之间。
SinoDB HDR对传输网络要求高,通常用于构建同城容灾方案。
2、共享存储集群
SinoDB的共享存储集群称为 SDS,由一个主节点(PRI)和一个或多个备节点(SDS)组成。SinoDB SDS集群基于共享存储技术,主节点实际完成集群中所有的写操作,生成的数据和事务日志都存储在共享存储设备(通常是SAN存储)上,备节点读取存储在共享存储设备上的事务日志并在内存中回放,实现集群中所有节点内存中数据状态的一致性。
SinoDB SDS集群具有故障切换快、可扩展性高的特点。集群中主节点发生故障时,根据内置的规则,某个备节点可以快速把自身提升为集群的主节点以接管集群的写入操作。由于不存在主备节点之间事务日志的跨网络传输,SinoDB SDS集群具有很高的可扩展性,可以通过部署更多的备节点来大幅提升集群的整体吞吐量,且备节点的增加不会明显影响集群的整体性,尤其适合一写多读场景。
SinoDB通常作为主数据中心的高可用方案,可实现机架级、机房级、建筑级容灾。
3、 远程灾备集群
SinoDB的远程灾备高可用集群称为 RSS,由一个主节点(PRI)和一个或多个备节点(RSS)组成。SinoDB RSS集群也是基于日志复制技术,把主节点的事务日志通过缓冲区同步到备节点,之后在备节点回放事务日志实现不同的SinoDB实例间的数据复制。为更好地服务于远程灾备方案的目标,SinoDB RSS在网络传输上做了特别设计,有效保证了异地数据传输的稳定性和效率。
二、SinoDB组合容灾方案
SinoDB的三种高可用技术可以相互组合,以混合部署架构满足多样化的数据容灾需要,最大化地保证企业业务系统对外服务的连续性。
SinoDB典型的容灾组合方案是SDS+HDR、SDS+RSS和SDS+HDR+RSS。
三、SinoDB连接管理器
在高可用性方面,SinoDB提供了连接管理器(Connection Manager,简称CM)组件,用于对SinoDB高可用集群进行管理,同时,CM也是对SinoDB高可用集群进行连接访问的服务端组件。
SinoDB CM的主要作用如下:
(1)提供基于SLA(Service Level Aggreement)的客户端连接管理,对连接访问在集群内部进行重定向。
(2)监控集群内各个节点的状态,实现自动故障发现。
(3)基于预定义的FOC(Fail of Connection)规则在集群内不同节点间实现自动故障转移。
四、两地三中心部署方案
组合SinoDB的高可用技术,可以实现两地三中心和三地五中心的容灾解决方案。