---
title: "数据分布概述 | OceanBase 文档中心"
description: 数据分布概述 OceanBase 数据库参考传统数据库分区表的概念，把一张表格的数据划分成不同的分区（ Partition ）。在分布式环境下，为保证数据读写服务的高可用，OceanBase 数据库会把同一个分区的数据拷贝到多个机器。不同机器同一个分区的数据拷贝称为副本（ Replica ）。同一分区的多个副本使用 …
image: https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*OSPzQ6GUQF4AAAAAQHAAAAgAeiGDAQ/original
---
切换语言

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

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

# 数据分布概述

更新时间：2024-04-10 10:11:15

OceanBase 数据库参考传统数据库分区表的概念，把一张表格的数据划分成不同的分区（ Partition ）。在分布式环境下，为保证数据读写服务的高可用，OceanBase 数据库会把同一个分区的数据拷贝到多个机器。不同机器同一个分区的数据拷贝称为副本（ Replica ）。同一分区的多个副本使用 Paxos 一致性协议保证副本的强一致，每个分区和它的副本构成一个独立的 Paxos 组，其中一个分区为主副本（ Leader ），其它分区为从副本（ Follower ）。主副本具备强一致性读和写能力，从副本具备弱一致性读能力。

## Location Cache

OceanBase 数据库按分区组织用户数据，且每个分区有多个副本用于容灾。SQL 请求执行过程中需要知道分区的位置信息，用于路由到特定机器读写对应分区副本的数据。分区的位置信息称为 Location，每个observer 进程会有一个服务，用于刷新及缓存本机需要的分区 Location 信息，该服务称为 Location Cache 服务。

分区的 Location 信息持久化到了 OceanBase 数据库内置的表中，持久化 Location 的内置表称为 Meta 表。为解决集群自举的问题，不同类型表的 Location 信息是按层次组织的，不同类型的表的 Location 会持久化到不同的 Meta 表中。各级 Meta 表的内容如下所示：

- `__all_virtual_core_root_table`：记录 `__all_root_table` 的 Location。
 - `__all_root_table`：记录集群中所有内置表的 Location。
 - `__all_virtual_meta_table`：记录集群中所有租户的用户创建的表的分区的 Location。

## 副本类型

根据分区副本存储的数据种类的不同，副本被划分成不同的类型，以支持不同业务在数据安全、性能伸缩性、可用性、成本等之间的选择。目前 OceanBase 数据库支持定义以下四种副本类型：

- 全能型副本
 - 日志型副本
 - 加密投票型副本
 - 只读型副本

有关副本管理的详细信息，参见 [副本概述](https://www.oceanbase.com/docs/enterprise-oceanbase-database-cn-10000000000355098) 章节。

## 分布式一致性协议

OceanBase 数据库使用 Paxos 协议在同一分区各副本间同步事务日志，多数派同步成功才能提交。缺省情况下读、写操作在主分区上保证强一致；备副本支持弱一致性读，允许读取某一个稍旧版本的数据。

## 数据均衡

OceanBase 数据库通过 RootService 管理租户内各个资源单元间的负载均衡。不同类型的副本需求的资源各不相同，RootService 在执行分区管理操作时需要考虑的因素包括每个资源单元的 CPU、磁盘使用量、内存使用量、IOPS 使用情况。经过负载均衡，最终会使得所有机器的各类型资源占用都处于一种比较均衡的状态，充分利用每台机器的所有资源。

- **副本均衡**

  RootService 会通过副本迁移的方式，调整租户和副本在各个 Unit 上的分布情况。
 - **Leader 均衡**

  在副本均衡的基础上，RootService 会根据租户 Primary Zone 等因素，均衡各机器分区 Leader 数目。通过把分区 Leader 聚集到同一机器上，减少分布式事务执行的可能，减少业务请求的 RT；通过把分区 Leader 在多机上打散，最大限度利用机器资源，提高系统吞吐能力。

 上一篇 下一篇 ![有帮助](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) 咨询热线
