海盒MPP数据库系统——多层次高可用特性

2022-05-06

SeaboxMPP数据库集群所有组件均为多活架构设计,任一节点或服务异常会有其它节点或副本提供对等的服务,单台节点损坏不影响集群的整体可用性,实现用户无感转移;支持全量、增量备份与恢复功能,支持指定备份恢复数据,确保极端情况数据完整性;支持集群双活,实现集群间的灾备与负载均衡。

SeaboxMPP通过冗余机制来保证集群的高可用特性,提供2个到多个副本的冗余策略,互备的分片数据间可实现强一致自动同步;部分副本故障不影响集群的可用性,至少有一份数据可以使用,不影响系统的可用性,同时支持故障的自动恢复,无需人工干预,数据可靠性不低于99.999%。

SeaboxMPP在产品设计上所有组件均提供高可用机制,当发生硬件故障时,系统能够自动检测错误并修复数据,集群可以实现自愈,无需人工干预,即使机器未修复,系统仍然能够不间断正常运行。支持细粒度的出错处理,对长时间的查询/分析任务,发生故障后无需重新运行应用,系统只需要单独运行失败的子任务即可,在故障情况下可极大缩短应用处理时间。

  • 调度节点高可用

调度节点基于全对称分布式的多节点集群架构,采用一致性协议,单一节点故障不影响整体集群服务。调度节点支持弹性扩展,任意调度节点损坏,业务无感知运行并自动恢复。

  • 计算节点高可用

计算节点支持active-active多节点形态,任意一台计算节点损坏,计算任务可由其它计算节点承担,并可快速调起新实例,恢复正常计算,不影响集群的整体可用性。计算节点无状态,支持计算节点支持弹性扩容/缩容,扩容/缩容过程中业务连续可用。

  • 存储节点高可用

存储节点支持多副本冗余机制,副本间实时数据同步,任意一个存储节点异常会有其它副本提供对等的服务,任意一台存储节点损坏,不影响集群的整体可用性。多副本机制可提高查询性能及高可用性,且存储节点支持弹性扩容/缩容,扩容/缩容过程中业务连续可用。每个副本提供对等的服务。

支持数据库在线滚动升级,升级过程中不影响业务使用;
支持集群调度节点、计算节点、存储节点的在线弹性扩容、缩容,确保在扩容、缩容过程中不影响业务使用;
支持服务状态实时监控,故障节点自动无感切换,同时针对故障节点支持自动自动拉起、自动恢复等自愈动作。

SeaboxMPP提供scbackup、screstore进行全量和增量备份和恢复,备份过程中支持数据库的增删改查,支持压缩设置,支持对库、模式、表级别的备份。

SeaboxMPP也提供sd_dumpall、sd_dump工具进行全局元数据、数据的备份,支持逻辑数据备份与恢复。

在SeaboxMPP数据库采用逻辑集群部署架构时,同一套集群中可将集群部署的节点按不同业务或用户划分为多个子集群,每个节点仅属于一个子集群,每个子集群独立承担部分用户的计算任务,子集群之间数据可透明访问,每个子集群称为一个逻辑集群,逻辑集群之间可透明访问,数据可相互传输及关联。逻辑集群功能为用户提供了大规模、多角色、混合负载的集群环境提供了统一的管理界面(包括元数据统一、用户权限统一、访问机制统一、安全机制统一),有能区分负载,为不同用户场景提供灵活的配置。

逻辑镜像集群主要功能为:

  • 主备镜像集群实例规模一致、数据一致
  • WAL日志同步机制,确保实时数据一致性
  • coordinator节点区分读写路由