---
title: github-fill
description: 数据存储概述 在 OceanBase 数据库的存储视角看，存储结构里最上层是 Partition Group，对应一个分区组，很多时候我们也将其简称为 PG。PG 是一个为了取得极限性能而抽象出来的一个概念。我们知道在一个用户的事务中，可能会操作很多张不同的表，在 OceanBase 数据库的分布式架构下，很难保证这…
---
切换语言

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

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

# 数据存储概述

更新时间：2026-04-01 10:48:54

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.4.1/zh-CN/700.reference/100.oceanbase-database-concepts/900.storage-architecture/200.data-storage/100.data-storage-overview.md)  

在 OceanBase 数据库的存储视角看，存储结构里最上层是 Partition Group，对应一个分区组，很多时候我们也将其简称为 PG。PG 是一个为了取得极限性能而抽象出来的一个概念。我们知道在一个用户的事务中，可能会操作很多张不同的表，在 OceanBase 数据库的分布式架构下，很难保证这些不同的表在相同的服务器上，那么这就势必会带来分布式事务，而分布式事务是依赖两阶段提交的，会有更大的开销；如果这些不同的表都在相同的服务器上，我们就有可能对这个事务做一阶段优化，以取得更好的性能。但大多数情况下，对表的位置其实是没有办法保证的。对于互联网下的很多应用，我们发现业务都会根据 User Id 做表的分区，并且多张表的分区规则都是相同的，对于这些表我们提供了语法来构建 Table Group，对于 Table Group 中的相应分区我们称之为 Partition Group，OceanBase 数据库会保证同一个 Partition Group 中的多个 Partition 始终绑定在一起，那么对于同一个 Partition Group 的事务操作就会被优化为单机事务，以取得更好的性能。

在一个 Partition Group 中可能包含多个 Partition，注意这些 Partition 的分区键和分区规则要完全相同。Partition Group 是 OceanBase 数据库的 Leader 选举和迁移复制的最小单位。Partition 就是表的一个分区，和 Oracle/MySQL 对于分区的定义基本相同。表的分区规则可能有很多种，例如 Hash 分区、Range 分区、List 分区甚至二级分区等等，但对于存储层来说，并不关心以上分区规则，都一视同仁为 Partition。

在 OceanBase 数据库中, 对于用户表支持创建局部索引，局部索引的特征就是在存储上会和主表绑定在同一个 partition 内部存储，主表和每个索引在内部会存储在各自独立的Table Store 内，在每一个Table Store 中会包含多个 SSTable 和 MemTable。MemTable 存储于内存，存储动态数据，提供读写操作；SSTable 存储于磁盘，存储静态数据并且只读。

![2](https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/6073623461/p356031.jpg)

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