以 JimSQL 开源项目为主线,亲手实现存储引擎、SQL 解析、执行引擎、B+ 树索引、MVCC 事务、WAL 日志。不调框架,不依赖黑盒。
不同背景的学员,都能从这门课中获得价值
数据库原理课听不懂,PPT 全是理论,不知道怎么实现,面试被问"B+ 树为什么比 B 树好"答不上来
能白板画出 B+ 树插入流程、讲清楚 MVCC 原理,简历上有"从零实现数据库",拿到字节基础架构 offer
天天用 MySQL 但只知道增删改查,出了慢查询不会优化,想转基础架构但不懂数据库内核
能看懂 PostgreSQL HeapPage/BufferPool 源码,能设计支持 10 万 QPS 的 KV 存储引擎,转岗到公司数据库团队
想给产品加"自然语言查数据"功能,但不知道怎么解析 SQL、怎么执行查询
给 SaaS 产品加上"自然语言查数据"功能,理解 SQL 解析→执行→优化全流程,续费率提升 30%
从磁盘存储到查询优化,每个模块独立成章,循序渐进,每章配套可运行 Demo 和单元测试。
数据库是什么、不是什么。ACID 承诺,一条 SQL 的完整旅程,JimSQL 架构导览。
Tuple/Schema 物理表示,HeapPage 槽位图,BufferPool LRU 置换,Volcano 迭代器模型。
手写词法分析器,递归下降 Parser,AST 设计,Binder 语义绑定与类型推导。
关系代数算子树,Filter/Projection,哈希聚合,NLJ/Hash Join/Sort-Merge Join,外部排序。
B+ 树原理与完整实现:节点序列化、插入分裂、删除合并、叶子链表、范围查询。
隔离级别,S/X Lock,两阶段锁(2PL),死锁检测,MVCC 版本链与 Read View。
WAL 原则,LogRecord 格式,顺序写入,ARIES 三阶段崩溃恢复(Analysis/Redo/Undo)。
RBO(谓词下推/列裁剪)vs CBO(代价模型),直方图,Join 顺序,EXPLAIN 实现。
订单系统场景演示,性能测试与瓶颈分析,扩展方向:列存储、LSM Tree、分布式。
从原理到完整实现:节点序列化、插入分裂、删除合并、叶子链表双向遍历、范围查询。理解为什么 MySQL 选择 B+ 树而不是 B 树或哈希。
版本链、Read View、可见性判断。对比锁机制与 MVCC 的适用场景,理解 MySQL InnoDB 的并发控制原理。
Write-Ahead Logging 原则,LogRecord 格式设计,顺序写入与 fsync。ARIES 三阶段崩溃恢复:Analysis、Redo、Undo。
关系代数算子树,open/next/close 迭代器模型。实现 Filter、Projection、Aggregate、Join、Sort 全套算子,理解现代数据库执行框架。
课程核心实现零第三方依赖,所有数据结构和算法亲手实现,真正理解每一行代码的意义。
← 熵减智算