首批通过分布式安全可靠测评,为关键业务系统打造
物理备库概述
更新时间:2026-05-22 16:08:56
物理备库功能是 OceanBase 数据库高可用解决方案的重要组成部分,它可以为用户的关键应用提供高可用、数据保护、灾难恢复等重要特性。
物理备库简介
物理备库作为 OceanBase 生产数据库的准实时热备份,当主库出现计划内或计划外(多数派副本故障)的不可用情况时,备库可以接管服务,并且提供无损切换(RPO = 0)和有损切换(RPO > 0)两种容灾能力,最大限度降低服务停机时间,减少可能带来的数据损失。
OceanBase 数据库在 V4.1.0 版本之前,物理备库的产品形态为集群级主备。集群有两种角色:主集群和备集群,主集群下面所有用户租户都是主租户,备集群下面所有用户租户都是备租户,备集群会自动同步主集群的租户变更操作。
V4.1.0 版本开始,物理备库的产品形态变更为租户级主备,即主或备的角色信息属于租户,分为主租户和备租户,集群不再有主备角色的概念,而只是承载租户的容器。主租户是用户创建的业务租户,支持完整的数据库服务能力,包括:查询、DML、DDL 等;备租户则仅提供容灾和只读服务的能力。一个主租户和若干备租户共同组成了租户级的物理备库高可用解决方案。
说明
由于 OceanBase 数据库按照租户粒度提供物理备库能力,在 OceanBase 数据库当前版本的产品文档中,主库和主租户、备库和备租户均代表相同的含义。
物理备库主要通过日志传输服务和日志存储服务来完成日志的传输及存储,并通过日志回放服务来保证主备租户数据的一致,其中:
日志传输服务在主租户和备租户之间实时同步 Redo 日志。
当前,OceanBase 数据库物理备库仅提供异步同步模式。
日志存储服务为物理备库提供高可用、高可靠的日志存储和读写能力。
备租户写入日志存储服务的日志会通过日志回放服务实时或延后地应用到内存的 MemStore 之中,以保证主租户和备租户的数据完全一致。
物理备库可以与 OceanBase 数据库基于多副本的容灾方案、基于仲裁的容灾方案、物理备份恢复、CDC(Change Data Capture) 等功能组合使用,进而满足客户多样的数据保护和可用性需求。
物理备库的部署方案
在一组使用物理备库的方案中,可以包含一个主租户和一个或多个备租户。主租户为业务提供读写服务,备租户通过 Redo 日志实时同步业务在主租户上写入的数据。
一个主租户和对应的备租户可以部署在距离相近或相隔很远的多个不同的 OceanBase 集群中,也可以部署在同一个 OceanBase 集群中。相应的,同一个 OceanBase 集群中既可以包含主租户,也可以包含备租户,也可以同时包含主备租户。主租户和备租户的租户名称不要求相同,租户的资源规格、配置、Locality 等也不要求相同。
此外,主租户和备租户既可以是单副本的租户,也可以是多副本或具备仲裁高可用能力的租户,不同的部署方式为租户提供不同级别的副本级容灾能力。
租户级别的物理备库为用户的使用提供了极大的灵活性,下面介绍几种典型的部署使用场景。
集群中仅有主租户或备租户
在该部署方案中,用户有多个 OceanBase 集群,每个 OceanBase 集群包含的业务租户或者都是主租户,或者都是备租户。
该部署方案是一种最典型的部署模式,用户可以使用物理备库功能完成异地容灾等各种所需的需求。
部署架构图如下所示。

集群中既有主租户又有备租户
在该部署方案中,用户有多个 OceanBase 集群,每个集群中既有主租户又有备租户,同时也允许集群中的租户只有主租户没有备租户。
一个典型的使用场景如下:
业务在两个不同的地域均有读写和异地容灾需求,因此需要在两个地域既有主库又有备库。在使用其他数据库基于主备的方案中,用户需要在两个地域各部署两个(或多个)集群,地域之间的集群互为主备。
在 OceanBase 数据库的部署方案中,仅需要在两个地域各部署一个集群,通过租户级别的主备即可满足业务需求,大大简化数据库集群的管理复杂度。部署架构图如下所示。

主租户和备租户在同一个集群中
在该部署方案中,用户只有一个 OceanBase 集群,主租户和对应的一个或多个备租户均在同一个 OceanBase 集群中。
可能使用该种部署方案的场景如下:
假设某个业务租户需要在业务升级前保留一个数据库的快照。此时可以为该业务租户在同一个集群内创建一个实时同步的备租户,并在业务执行升级操作前将该备租户暂停同步。之后,业务可以在主租户上进行任意读写操作(例如,进行业务升级),并且这些操作均不会影响备租户。后续若业务升级失败,可以将当前主租户删除,并将备租户切换为新的主租户(通过将新租户名修改为原主租户名,可以保证 Proxy 的访问不变)。
部署架构图如下所示。
