支持高可用性和可伸缩性的组件

GBase 8s 数据库软件中包含若干可定制的组件,用于创建提供不中断连续服务的系统,以便将停机时间和维护降到最低。

集群

集群由通过网络连接的单个主服务器和一个或多个辅助服务器组成。如果集群中的主服务器出现故障,辅助服务器可接管主服务器的角色。

主服务器是拥有数据主副本且与集群中所有辅助服务器相连的数据库服务器。辅助服务器是与主服务器相连且包含或具有与主服务器相同的数据访问权的数据库服务器。集群中的主服务器和辅助服务器都配置了相同的硬件和软件。

应用程序可在任何服务器上启动。应用程序无需“感知”任何特定服务器。主服务器和辅助服务器之间的通信是安全的。此外,客户机应用程序与所有服务器之间的通信也是安全的。

辅助服务器可位于主服务器附近(同一房间,同一层或同一建筑物中),也可在地理上远离主服务器(如位于另一建筑物,另一个城市或另一个国家/地区)。 有些辅助服务器与主服务器具有相同的数据访问权,而另一些辅助服务器通过同步与主服务器包含相同数据。主服务器上落实了事务之后,主服务器会将全部事务发送到辅助服务器。主服务器不发送未落实的事务,所以数据库数据是可靠的。有关辅助服务器的描述,请参阅表 1。这些辅助服务器与主服务器同步,以构建连续可用的可伸缩数据存储。

表 1. 辅助服务器的类型
辅助服务器类型 描述
共享磁盘 (SD) 辅助服务器 与主服务器共享磁盘空间的服务器。这种类型的辅助服务器不在自己的磁盘空间中维护物理数据库副本;而是与主服务器共享磁盘。
高可用性数据复制 (HDR) 辅助服务器 该服务器通过同步或异步数据复制维护整个主服务器的备份副本。 如果主服务器出现故障,应用程序可快速访问这种类型的辅助服务器。
远程独立 (RS) 辅助服务器 该服务器维护数据的完整副本,并通过安全网络连接从主服务器异步传输更新。这种类型的辅助服务器在地理位置上可与主服务器之间有很远的距离,并且可在灾难恢复场景中充当远程备份服务器。
下面是集群的优势:
  • 接收复制数据的站点上的客户机性能有了提高,因为那些客户机可以本地访问数据,而不是通过网络连接至远程数据库服务器。
  • 所有站点上的客户机可感受复制数据可用性有所提高。如果复制数据的本地副本不可用,客户机还可访问数据的远程副本。
如下图所示,主数据库服务器管理的数据发生更改后,辅助数据库服务器上会随之动态更新。

图: 集群配置中的主数据库服务器和辅助数据库服务器


此图的描述在周围文本中。
如果某个数据库服务器发生故障(如下图中所示),那么可以将使用该数据库服务器的客户机重定向至该对中的其他数据库服务器,这将成为主服务器。

图: 发生故障后数据复制配置中的数据库服务器和客户机


此图显示在主数据库服务器发生故障之后重定向到辅助数据库服务器的客户机。

Enterprise Replication

基于日志记录的一种异步工具,用于在 GBase 8s 数据库服务器之间复制数据。 Enterprise Replication 实施异步数据复制,从而容许网络和目标数据库服务器中断。如果数据库服务器或网络发生故障,本地数据库服务器将继续为本地用户提供服务。在远程服务器可用之前,本地数据库服务器将已复制的事务存储在持久存储中。源服务器上的 Enterprise Replication 通过以下方法捕获要复制的事务:读取逻辑日志,存储事务,然后以可靠方式将每个事务作为复制数据传输到目标服务器。

Enterprise Replication 确保所有数据到达适当的服务器,而无论网络或系统是否发生故障。如果发生故障,Enterprise Replication 将存储数据,直到网络或系统恢复运行。 Enterprise Replication 将数据复制和发送量降到最低,从而有效复制数据。

连接管理器

连接管理器是用于自动管理和定向客户机连接请求的程序。它根据系统管理员配置的,称为服务级别协议 (SLA) 的重定向规则来重定向请求。

可使用连接管理器故障转移配置功能来配置自动故障转移。如果连接管理器检测到主服务器出现故障,并且在接下来的超时周期期间主服务器未执行任何操作来重新连接,那么最适合的辅助服务器将转换为主服务器。可通过使用配置文件来配置连接管理器的故障转移参数。

连接管理器执行可配置的负载均衡,这样客户机将基于服务器的工作负载进行重定向。连接管理器连接到集群中的每台服务器,收集有关服务器类型、未使用的工作负载容量及当前服务器状态的统计信息。 通过这些信息,连接管理器将客户机连接重定向到活动量最少的服务器。

可在不同计算机上配置多个连接管理器实例,以避免连接管理器成为单个故障点。可以在 GBase 8s 服务器实例上安装和运行连接管理器,或者为了将连接管理器从数据库服务器的故障中隔离开,也可以将其安装到单独的非 GBase 8s 机器上。此外,还可将连接管理器配置为在集群以外的机器的硬件平台上运行。

要进一步增加可用性,可配置多个连接管理器实例。要避免连接管理器成为单个故障点,配置多个连接管理器实例尤为重要。发生连接管理器故障之后,客户机仍然保持与服务器的连接;但是,除非配置了另一个连接管理器实例来充当备份,否则新客户机连接不能连接到服务器。如果连接管理器出现故障,配置另一个连接管理器实例来充当备份之前,所有客户机连接都将丢失。

除了在高可用性集群内执行客户机应用程序重定向之外,还可使用连接管理器将连接请求路由到复制集中的一个或多个服务器。配置连接管理器以指定服务器的名称和有序列表(这些服务器全部位于同一个 Enterprise Replication 域中),然后指定服务级别协议 (SLA) 名称和重定向策略。重定向策略指定客户机将连接的目标数据库服务器的类型或名称。客户机应用程序使用 SLA 名称连接到正确的数据库服务器。

网格

网格是一种互连的复制服务器的命名集合,用于将命令从授权服务器传播到集合中的其余服务器。与电网在区域内分配电力非常相似,您定义的网格将 SQL 命令分发给网格中的复制服务器。如果您有多个复制服务器,并且经常需要在每个复制服务器上执行相同任务,那么网格可能非常有用。可通过网格轻松运行以下类型的任务:
  • 管理服务器;例如,添加块、除去逻辑日志或更改配置参数设置
  • 更新数据库模式;例如,变更表或添加表
  • 运行或创建存储过程或用户定义的例程
  • 更新数据;例如,基于条件清除旧数据或更新值
  • 维护复制:创建表时启用复制,并且在变更复制的表时变更复制定义。