一个 OceanBase 集群,由若干个 Zone 组成。Zone 是可用区(Availability Zone)的简写。Zone 本身是一个逻辑概念,是对物理机进行管理的容器,一般是同一机房的一组机器的组合。物理层面来讲一个 Zone 通常等价于一个机房、一个数据中心或一个 IDC。为交付高级别的数据安全性和服务可用性能力,一个 OceanBase 集群通常会分布在同城的 3 个机房中,同一份数据的三个副本分别分布在 3 个机房中(即三个 Zone 中)。
OceanBase 数据库支持数据跨地域(Region)部署,且不同 Region 的距离通常较远,从而满足地域级容灾的需求。一个 Region 可以包含一个或者多个 Zone。例如,某 OceanBase 集群部署在某城市(某一 Region)且分布在三个 IDC 机房中,每个 IDC 机房中又有 3 台服务器,所以每个 IDC 机房的中的这 3 台服务器组合成一个 Zone。
注意
Region 并不是一个 OceanBase 的对象定义,而是 Zone 的关键属性之一。
对于租户、数据库、数据分区(表和索引等)不同级别均有主可用区(Primary Zone)的属性配置,可用于支持高可用和负载均衡能力。
对于租户级别有只读可用区(Read Zone 简称 RZone)的属性配置,用于交付高可用和负载均衡能力,也是针对读写分离场景的一种方案。相比主可用区属性配置,只读可用区需要在原有副本组(Paxos 组)的基础上追加 1 个或多个副本。