【参天引擎】表空间 / 数据文件 / Buffer Pool / 堆表 / LOB / Sequence / Flashback 功能域整体解析
2026/7/22 14:12:59 网站建设 项目流程

阅读时间: 约 55 分钟
难度等级: ⭐⭐⭐⭐⭐(高级)


文章目录

    • 背景
    • 一、功能域总览
    • 二、表空间管理
      • 2.1 表空间类型
      • 2.2 Space 结构
      • 2.3 表空间创建/删除/扩展/收缩
    • 三、数据文件管理
      • 3.1 数据文件组织
      • 3.2 文件扩展策略
      • 3.3 双写区(Double Write)
    • 四、Buffer Pool 与页面管理
      • 4.1 Buffer Pool 多分区
      • 4.2 页面生命周期
      • 4.3 LRU 淘汰
      • 4.4 页面查找 Hash 表
    • 五、堆表(Heap Table)组织
      • 5.1 堆表页面结构
      • 5.2 ITL 事务槽
      • 5.3 行存储格式
      • 5.4 行迁移 / 行链接
    • 六、LOB 大对象存储
      • 6.1 内联 LOB(≤3962 字节)
      • 6.2 外联 LOB(>3962 字节)
      • 6.3 Chunk 链表
      • 6.4 LOB MVCC
      • 6.5 LOB 空间回收
    • 七、序列(Sequence)管理
      • 7.1 NEXTVAL / CURRVAL 实现
      • 7.2 序列缓存
      • 7.3 多节点区间分配
      • 7.4 序列 DDL
    • 八、段(Segment)与 Extent 管理
      • 8.1 Bitmap 分配(4 级自动分配)
      • 8.2 段头结构
      • 8.3 空间回收
    • 九、闪回(Flashback)与回收站
      • 9.1 DROP 回收站
      • 9.2 TRUNCATE 回收站
      • 9.3 FBDR(FlashBack Data Record)Undo 回溯
      • 9.4 PURGE 清理
    • 十、总结

背景

存储管理是 Cantian 数据库引擎物理存储层的核心,采用 Tablespace → Datafile → Segment → Extent → Page 经典五层存储分层。它涵盖表空间的创建/扩展/收缩、数据文件的双写区保护、Buffer Pool 的多分区 LRU 缓存、堆表的 ITL 行锁存储与行迁移/链接、LOB 大对象的 Chunk 链表存储、Sequence 的多节点区间分配、以及 Flashback 闪回与回收站机制。本章系统解析各子模块的架构设计与关键实现。

文章亮点:

  • ✅ 四类表空间(DATA/TEMP/UNDO/SYSTEM)的分工与 Space 管理结构
  • ✅ 双写区(Double Write)防止页断裂(Torn Page)的刷盘保护机制
  • ✅ Buffer Pool 多分区设计、LRU 淘汰与页面状态生命周期
  • ✅ 堆表 8KB 页面布局、ITL 事务槽与行迁移/链接处理
  • ✅ LOB 内联/外联存储策略与 Chunk 链表 MVCC 机制
  • ✅ 4 级 Bitmap 自动空间管理、Sequence 多节点区间预分配

一、功能域总览

存储管理功能域是 Cantian 数据库引擎物理存储层的核心,涵盖从逻辑空间的表空间管理到物理页面的 Buffer Pool 缓存,从堆表行存储格式到 LOB 大对象存储、Sequence 序列管理

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询