高可用概述
数据库系统在应用架构中承担了数据存储和查询的功能,其对企业数据安全和保障业务连续性至关重要。高可用是数据库系统架构设计中首要考虑的因素,高可用诉求包括服务高可用和数据高可靠。本文将介绍 OceanBase 的服务高可用技术,数据高可靠技术将在后面的《备份恢复》章节中介绍。
OceanBase 数据库具备多样化的服务高可用技术,包括集群内的多副本容灾和基于仲裁的容灾以及集群间的物理备库容灾。
多副本容灾
OceanBase 数据库基于 Paxos 协议实现了多副本容灾方案,对用户提供少数派故障时 RPO = 0,RTO < 8s 的高可用能力。
多副本容灾技术面向单个集群,事务日志持久化并在多个副本之间同步日志数据,基于 Paxos 协议保证日志数据在多数派副本持久化成功,同时通过成员变更提供容灾能力。
多副本容灾面向集群内少数派节点异常的场景,具备极好的故障恢复速度及数据零丢失能力。为了能够应对跨区域的异地容灾(无法接受三地五中心)以及更高的可用性需求(例如多数派节点异常、软件上的 Bug 等),可以采用物理备库容灾。
基于仲裁的容灾
基于仲裁的容灾方案,是 OceanBase 数据库以 Paxos 多副本容灾方案为基础创新性地提供的高可用解决方案。
在业务层面上,仲裁方案保证数据在多数派副本(4 个全功能型副本+ 1 个仲裁服务)或全部副本(2 个全功能型副本+ 1 个仲裁服务)上强同步,并在半数全功能型副本故障的情况下,自动进行故障降级,保证数据不丢失的同时业务持续可用。
基于仲裁的容灾同时解决了传统数据库最大保护或最大可用方案中,业务服务连续性和数据完整性不可兼得的问题,可以避免出现脑裂风险。同时,根据用户的 Locality 配置,OceanBase 数据库可以在多个全功能型副本所在的数据库节点上均提供读写服务。
与基于多数派的容灾方案类似,基于仲裁的容灾方案是集群内的解决方案,无法解决多数派或全部副本故障时的数据保护和可用性问题。
物理备库容灾
物理备库容灾是 OceanBase 数据库高可用解决方案的重要组成部分。
物理备库容灾技术面向多个集群,多集群间传输事务日志,建立基于日志的物理热备服务。在 OceanBase 数据库 V4.2.0 版本中,物理备库采用独立的主备库架构,主备关系存在于租户级别,主备之间通过网络直连或第三方日志服务建立传输渠道,只传输日志。不同于以前版本的集中式架构,独立主备库架构下,各个集群是是相互独立的,用户可以更加灵活地管理集群。
租户级主备由于异步同步日志,仅支持最大性能模式,不支持最大保护和最大可用模式,容灾切换时需要保证数据强一致的场景可以采用多副本容灾方案或基于仲裁的容灾方案。




