基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
集群级扩容与缩容
更新时间:2026-07-10 11:28:10
基于分布式架构的 OceanBase 数据库提供灵活的在线扩展性。在集群持续可用的前提下,提供在线扩缩容。
OceanBase 数据库通常由多个可用区(Zone)组成,每个可用区(Zone)内包含若干多台物理服务器。OceanBase 数据库的整体结构如下图所示。

与传统单机数据库相比,基于分布式架构的 OceanBase 数据库提供灵活的在线扩展性。在集群持续可用的前提下,支持在线扩缩容。当集群的容灾需求发生变化时,可通过调整 Zone 的数量(加/减 Zone)的方式提高或降低集群的容灾能力。当集群的外部负载发生变化时,可通过调整 Zone 内物理机的数量(加/减 OBServer 节点)的方式改变集群的负载能力。以下从两个层面详细介绍 OceanBase 数据库的扩缩容能力。
可用区(Zone)的动态调整
OceanBase 集群中的每一份数据都维护了多个副本,一份数据的多个副本通过 Paxos 协议组成一个基本的高可用单元。通常情况下,系统会在每个 Zone 内部署至多一个数据副本,在少数 Zone 发生故障时,剩余 Zone 内的副本仍可以通过 Paxos 协议,在保证数据完整的前提下,继续提供服务。用户可通过增加 Zone 的数量来增加数据的副本数,进而提高系统的可用性,具体示例如下。
存在一个 OceanBase 集群,共包含 3 个 Zone:Zone1、Zone2、Zone3。集群中的每一份数据包含 3 个副本,分别部署在以上 3 个 Zone 内。为进一步提高系统的可用性,期望升级数据副本数为 5 副本,可通过扩容 Zone 数量的方式达到该目标。首先为集群添加两个新的 Zone:Zone4 和 Zone5。然后在新的 Zone(Zone4 和 Zone5)内添加物理机。随后可根据用户需求,在 Zone4 和 Zone5 上部署新的数据副本,完成 Zone 级别的动态扩容。
相反地,也可以通过减少 Zone 的数量,来实现 Zone 级别的动态缩容操作。
物理机的动态调整
为支持数据库服务能力的线性扩展,OceanBase 数据库支持 Zone 内物理机的动态调整,即调整 Zone 内物理机的数量来扩展服务能力。OceanBase 数据库实现服务能力线性扩展的具体示例如下。
存在一个 OceanBase 集群,共包含 3N 个 OBServer(包含 3 个 Zone:Zone1、Zone2、Zone3,每个 Zone 包含 N 个 OBServer)提供读写服务,当集群提供的服务能力不能完全满足读写请求时,需要对该 OceanBase 集群扩容以提高集群服务能力。为集群扩容三台新 OBServer 节点,每个 Zone 扩容一台,扩容后每个 Zone 包含 N+1 台 OBServer。通过动态扩容,集群中的 OBServer 节点数量相应增加,Root Service 会根据内部的负载均衡机制,将集群内原有的数据和负载依次均衡到新扩容的节点上。
相反地,当集群中的节点服务能力对当前负载有较多冗余时,可考虑通过缩减节点来降低集群成本。