---
title: github-fill
description: Locality 介绍 为了描述数据的多个副本的类型及分布策略，我们引入了 Locality 的概念。OceanBase 数据库当前版本仅支持租户级别的 Locality，不再支持表级、DB 级、Table Group 级配置 Locality。 副本指的是数据，而 Locality 描述的对象是承载数据的容器，从而…
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.1.0

# Locality 介绍

更新时间：2024-12-05 14:46:39

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.1.0/zh-CN/600.manage/300.replica-management/200.replica-distribution/100.locality-overview.md)  

为了描述数据的多个副本的类型及分布策略，我们引入了 Locality 的概念。OceanBase 数据库当前版本仅支持租户级别的 Locality，不再支持表级、DB 级、Table Group 级配置 Locality。

副本指的是数据，而 Locality 描述的对象是承载数据的容器，从而该容器下的数据具有容器的 Locality 属性所描述的类型及分布策略。

OceanBase 数据库当前版本仅支持租户级别的 Locality，而 OceanBase 数据库 V3.x 还支持表级、DB 级、Table Group 级配置 Locality。

## Locality 语法

Locality 的语法结构如下所示：

```sql
replicas{量词}@location

```

语法中各元素的意义如下表所示：

| **元素** | **说明** |
| --- | --- |
| replicas | 表示副本类型。replicas 的值为副本名称，可以在 [副本介绍](https://www.oceanbase.com/docs/common-oceanbase-database-cn-10000000001697192) 中的副本类型说明表中的名称列获得支持的值（支持全名和简写）。 |
| location | 表示位置。它是系统已知的一组枚举值。location 的值为 Zone 的名称。集群和租户中的各 Zone 的名称可以通过 `oceanbase.DBA_OB_ZONES` 视图查询。    有关 `oceanbase.DBA_OB_ZONES` 视图的详细信息，参见 [oceanbase.DBA_OB_ZONES](https://www.oceanbase.com/docs/common-oceanbase-database-cn-10000000001699275)。 |
| 量词 | 固定为 1，表示一个副本。也可以不指定。 |

租户的 Locality 属性可以通过系统租户下 `oceanbase.DBA_OB_TENANTS` 视图的 `LOCALITY` 字段查看。示例如下：

```shell
obclient> SELECT * FROM oceanbase.DBA_OB_TENANTS limit 10;
+-----------+-------------+-------------+----------------------------+----------------------------+--------------+---------------+-------------------+--------------------+--------+---------------+--------+-------------+-------------------+------------------+---------------------+---------------------+---------------------+---------------------+--------------+----------------------------+
| TENANT_ID | TENANT_NAME | TENANT_TYPE | CREATE_TIME                | MODIFY_TIME                | PRIMARY_ZONE | LOCALITY      | PREVIOUS_LOCALITY | COMPATIBILITY_MODE | STATUS | IN_RECYCLEBIN | LOCKED | TENANT_ROLE | SWITCHOVER_STATUS | SWITCHOVER_EPOCH | SYNC_SCN            | REPLAYABLE_SCN      | READABLE_SCN        | RECOVERY_UNTIL_SCN  | LOG_MODE     | ARBITRATION_SERVICE_STATUS |
+-----------+-------------+-------------+----------------------------+----------------------------+--------------+---------------+-------------------+--------------------+--------+---------------+--------+-------------+-------------------+------------------+---------------------+---------------------+---------------------+---------------------+--------------+----------------------------+
|         1 | sys         | SYS         | 2023-05-17 18:10:19.940353 | 2023-05-17 18:10:19.940353 | RANDOM       | FULL{1}@zone1 | NULL              | MYSQL              | NORMAL | NO            | NO     | PRIMARY     | NORMAL            |                0 |                NULL |                NULL |                NULL |                NULL | NOARCHIVELOG | DISABLED                   |
|      1001 | META$1002   | META        | 2023-05-17 18:15:21.455549 | 2023-05-17 18:15:36.639479 | zone1        | FULL{1}@zone1 | NULL              | MYSQL              | NORMAL | NO            | NO     | PRIMARY     | NORMAL            |                0 |                NULL |                NULL |                NULL |                NULL | NOARCHIVELOG | DISABLED                   |
|      1002 | mysql001    | USER        | 2023-05-17 18:15:21.461276 | 2023-05-17 18:15:36.669988 | zone1        | FULL{1}@zone1 | NULL              | MYSQL              | NORMAL | NO            | NO     | PRIMARY     | NORMAL            |                0 | 1684398681521302749 | 1684398681521302749 | 1684398681345969089 | 4611686018427387903 | NOARCHIVELOG | DISABLED                   |
|      1003 | META$1004   | META        | 2023-05-17 18:18:19.927859 | 2023-05-17 18:18:36.443233 | zone1        | FULL{1}@zone1 | NULL              | MYSQL              | NORMAL | NO            | NO     | PRIMARY     | NORMAL            |                0 |                NULL |                NULL |                NULL |                NULL | NOARCHIVELOG | DISABLED                   |
|      1004 | oracle001   | USER        | 2023-05-17 18:18:19.928914 | 2023-05-17 18:18:36.471606 | zone1        | FULL{1}@zone1 | NULL              | ORACLE             | NORMAL | NO            | NO     | PRIMARY     | NORMAL            |                0 | 1684398681335427475 | 1684398681335427475 | 1684398681144712832 | 4611686018427387903 | NOARCHIVELOG | DISABLED                   |
|      1005 | META$1006   | META        | 2023-05-18 15:48:57.441320 | 2023-05-18 15:49:12.820051 | zone1        | FULL{1}@zone1 | NULL              | MYSQL              | NORMAL | NO            | NO     | PRIMARY     | NORMAL            |                0 |                NULL |                NULL |                NULL |                NULL | NOARCHIVELOG | DISABLED                   |
|      1006 | mq_t1       | USER        | 2023-05-18 15:48:57.447657 | 2023-05-18 15:49:12.857944 | zone1        | FULL{1}@zone1 | NULL              | MYSQL              | NORMAL | NO            | NO     | PRIMARY     | NORMAL            |                0 | 1684398680916392609 | 1684398680916392609 | 1684398680742451346 | 4611686018427387903 | NOARCHIVELOG | DISABLED                   |
+-----------+-------------+-------------+----------------------------+----------------------------+--------------+---------------+-------------------+--------------------+--------+---------------+--------+-------------+-------------------+------------------+---------------------+---------------------+---------------------+---------------------+--------------+----------------------------+
7 rows in set

```

## 示例

下述示例展示了在一个拥有五个 Zone（z1~z5）的 OceanBase 集群中，可以容纳不同 Locality 的多个租户和它们的 Locality 情况：

- sys tenant 的 Locality：`F@z1,F@z2,F@z3,F@z4,F@z5`。

  表示系统租户在 `z1,z2,z3,z4,z5` 上各存在一个全能型副本。
 - tenant1 的 Locality：`F@z1,F@z2,F@z3`。

  表示租户 tenant1 在 `z1,z2,z3` 上各存在一个全能型副本。
 - tenant2 的 Locality：`F@z3,F@z4,F@z5`。

  表示租户 tenant2 在 `z3,z4,z5` 上存在一个全能型副本。

如图所示：

![1](https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/doc/img/observer-enterprise/V4.0.0/easy-of-use/manage/replica-management/replica-fine-granularity/f.png)

## Locality 属性与高可用架构

多副本架构是 OceanBase 数据库相比于传统数据库的架构优势，多副本架构是 OceanBase 数据库具备多级无损容灾能力的基础，包括单机级无损容灾、机房级无损容灾、城市级无损容灾等能力。OceanBase 数据库支持灵活的调整集群部署架构，从而可以满足业务场景的技术演进。

OceanBase 数据库的灵活的部署架构正是通过 Locality 属性体现的，Locality 除了描述副本类型，还描述了副本在 Zone 间的分布策略。Zone 具有 Region 属性，可通过 `oceanbase.DBA_OB_ZONES` 视图的 `REGION` 字段查看，描述了该 Zone 的地域分布。通过调整租户的多个副本在不同 Region 的 不同 Zone 间的分布，从而达到灵活的部署模式。

OceanBase 数据库典型的部署模式有三种，分别是同城三中心、两地三中心、三地五中心，其 Locality 属性举例如下：

| 部署模式 | Locality 属性 | Zone 分布 |
| --- | --- | --- |
| 同城三中心 | `F@z1,F@z2,F@z3` | z1、z2、z3 分别位于 Region R1 的 IDC idc1、idc2、idc3 |
| 两地三中心 | `F@z1,F@z2,F@z3,F@z4,F@z5` | z1、z2 位于 Region R1 的 IDC idc1；    z3、z4 位于 Region R1 的 IDC idc2；    z5 位于 Region R2 |
| 三地五中心 | `F@z1,F@z2,F@z3,F@z4,F@z5` | z1、z2 位于 Region R1 的 IDC idc1 和 IDC idc2；    z3、z4 位于 Region R2 的 IDC idc3 和 IDC idc4；    z5 位于 Region R3 |

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
