🗄️ 数据库内核课程
从存储引擎到迷你数据库 · 25课全览
25
课程
5
阶段
C+Python
双语言实现
25+
完整代码
存储引擎
第1阶段 (01-05)
01
数据库内核概述
三层架构、组件交互、MiniDB骨架
02
磁盘与缓冲区管理
I/O特性、LRU/Clock淘汰、缓冲池实现
03
页式存储
页内部结构、行格式、空间管理
04
堆文件与索引文件
Heap vs IOT、二级索引回表
05
存储引擎架构
可插拔引擎、Heap/Sorted/LSM对比
索引结构
第2阶段 (06-10)
06
B树原理
BST→B树演进、分裂/合并、性能分析
07
B+树实现
叶子链表、范围查询、B+树 vs B树
08
哈希索引
可扩展哈希、线性哈希、冲突解决
09
LSM树
MemTable/SSTable、Compaction、Bloom Filter
10
多版本索引
版本链、PG堆内MVCC vs InnoDB Undo
事务与并发
第3阶段 (11-15)
11
ACID与事务
原子性/一致性/隔离性/持久性、银行转账
12
WAL预写日志
WAL原则、检查点、ARIES恢复算法
13
MVCC多版本并发
可见性判断、快照隔离、写偏序问题
14
锁与隔离级别
多粒度锁、意向锁、四种隔离级别
15
死锁检测
等待图、环检测、牺牲者选择
查询处理
第4阶段 (16-20)
16
解析与计划
词法/语法分析、AST、逻辑计划
17
查询优化(CBO/RBO)
谓词下推、连接重排序、代价模型
18
连接算法
NL Join、Hash Join、Merge Join对比
19
排序与聚合
外部归并排序、流式聚合、哈希聚合
20
执行引擎
火山模型、向量化执行、编译执行
实战项目
第5阶段 (21-25)
21
简易KV存储
WAL+MemTable+SSTable+Bloom Filter
22
B+树存储引擎
B+树持久化、缓冲池、范围扫描
23
SQL解析器
词法/语法分析、CRUD执行引擎
24
查询优化器
RBO规则+CBO代价+连接重排序
25
毕业项目:迷你数据库
SQL+优化+事务+B+树+恢复 全整合