GBase 8s数据库物理存储单元Page与Chunk简介

📅 2026/7/21 0:30:42 👁️ 阅读次数 📝 编程学习
GBase 8s数据库物理存储单元Page与Chunk简介

理解存储结构是掌握数据库原理的关键一步。本文系统介绍南大通用GBase 8s数据库(gbase database)从物理存储单元到逻辑存储单元的层次关系,并与 Oracle 存储结构进行对照。

二、物理存储单元:Page 与 Chunk

2.1 数据页(Page)

数据页(Page)是 GBase 8s 中最基本的存储单元,也是数据库服务的最小 I/O 单元。所有的系统信息和用户数据都被存储在数据页上,表的记录、索引的索引键都以 Page 为存储单位进行管理。

在大多数系统中,默认的数据页大小为 2KB。数据页大小是可配置的,在创建数据空间时指定,最大值为 16KB。GBase 8s数据库支持不同大小的数据页:2KB、4KB、8KB、16KB,管理员可以根据实际业务场景选择合适的页大小。

从内部结构来看,一个数据页总体上分为三部分:

+----------------------------------+| 页头 (24 字节) || - 页地址、校验位、标记位、记录数 |+----------------------------------+| 数据部分 || - Slot 方式存储行记录/索引键 || - 最多 255 个 Slot |+----------------------------------+| 页尾 || - 时间戳、Slot 描述信息 |+----------------------------------+

  • 页头:占用 24 字节空间,包含页的地址信息、校验位、标记位、记录数计数器等元数据
  • 数据部分:以 Slot 的方式存储实际的行记录或索引键,一个数据页最多能存储 255 个 Slot
  • 页尾:包含时间戳和每个 Slot 的描述信息

2.2 块(Chunk)

块(Chunk)是用于存储数据的连续磁盘空间,可以是一个裸设备(Raw Device)或其一部分,也可以是文件系统中的一个文件(Cooked File)。Chunk 是数据库与操作系统存储之间的桥梁,为数据提供了物理上的连续存储区域。