【参天引擎】表空间 / 数据文件 / Buffer Pool / 堆表 / LOB / Sequence / Flashback 功能域整体解析

发布时间:2026/7/22 14:13:09
【参天引擎】表空间 / 数据文件 / Buffer Pool / 堆表 / LOB / Sequence / Flashback 功能域整体解析 阅读时间: 约 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 MVCC6.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 序列管理