JimSQL 架构层次
SQL 接口层
Parser · Binder
查询优化器
RBO · CBO · EXPLAIN
执行引擎
Volcano · Filter · Join
索引层
B+ Tree · 范围查询
事务 / 并发控制
2PL · MVCC · 死锁检测
日志与恢复
WAL · ARIES · Checkpoint
存储层
HeapFile · BufferPool · LRU
Java 实战课程 · 30 章

从零写
数据库

以 JimSQL 开源项目为主线,亲手实现存储引擎、SQL 解析、执行引擎、B+ 树索引、MVCC 事务、WAL 日志。不调框架,不依赖黑盒。

查看课程模块 GitHub 源码
30
章节
9
模块
0
第三方依赖
Java 17
技术栈
这门课适合谁?

找到与你相似的学员

不同背景的学员,都能从这门课中获得价值

小李 - 科班生
大三/大四 · 数据库课听不懂
痛点

数据库原理课听不懂,PPT 全是理论,不知道怎么实现,面试被问"B+ 树为什么比 B 树好"答不上来

学完后

能白板画出 B+ 树插入流程、讲清楚 MVCC 原理,简历上有"从零实现数据库",拿到字节基础架构 offer

小王 - 后端工程师
工作 2-3 年 · 想转基础架构
痛点

天天用 MySQL 但只知道增删改查,出了慢查询不会优化,想转基础架构但不懂数据库内核

学完后

能看懂 PostgreSQL HeapPage/BufferPool 源码,能设计支持 10 万 QPS 的 KV 存储引擎,转岗到公司数据库团队

老张 - 独立开发者
做 SaaS 产品 · 想加数据库功能
痛点

想给产品加"自然语言查数据"功能,但不知道怎么解析 SQL、怎么执行查询

学完后

给 SaaS 产品加上"自然语言查数据"功能,理解 SQL 解析→执行→优化全流程,续费率提升 30%

查看完整学习路径
课程模块

9 大模块,覆盖数据库全栈

从磁盘存储到查询优化,每个模块独立成章,循序渐进,每章配套可运行 Demo 和单元测试。

01
Ch01–02
破冰篇

数据库是什么、不是什么。ACID 承诺,一条 SQL 的完整旅程,JimSQL 架构导览。

环境搭建 · 第一个 SELECT
02
Ch03–06
存储层

Tuple/Schema 物理表示,HeapPage 槽位图,BufferPool LRU 置换,Volcano 迭代器模型。

HeapFile · BufferPool · SeqScan
03
Ch07–09
SQL 解析

手写词法分析器,递归下降 Parser,AST 设计,Binder 语义绑定与类型推导。

Lexer · Parser · Binder
04
Ch10–14
执行引擎

关系代数算子树,Filter/Projection,哈希聚合,NLJ/Hash Join/Sort-Merge Join,外部排序。

Volcano · Join · ORDER BY
05
Ch15–19
索引

B+ 树原理与完整实现:节点序列化、插入分裂、删除合并、叶子链表、范围查询。

B+ Tree · IndexScan · 二级索引
06
Ch20–22
事务与并发

隔离级别,S/X Lock,两阶段锁(2PL),死锁检测,MVCC 版本链与 Read View。

2PL · MVCC · 死锁检测
07
Ch23–25
日志与恢复

WAL 原则,LogRecord 格式,顺序写入,ARIES 三阶段崩溃恢复(Analysis/Redo/Undo)。

WAL · ARIES · Checkpoint
08
Ch26–27
查询优化

RBO(谓词下推/列裁剪)vs CBO(代价模型),直方图,Join 顺序,EXPLAIN 实现。

RBO · CBO · 统计信息
09
Ch28–30
综合实战

订单系统场景演示,性能测试与瓶颈分析,扩展方向:列存储、LSM Tree、分布式。

性能测试 · 扩展方向 · 学习路线
🌳
B+ 树索引

从原理到完整实现:节点序列化、插入分裂、删除合并、叶子链表双向遍历、范围查询。理解为什么 MySQL 选择 B+ 树而不是 B 树或哈希。

节点分裂叶子链表范围查询二级索引
🔒
MVCC 并发控制

版本链、Read View、可见性判断。对比锁机制与 MVCC 的适用场景,理解 MySQL InnoDB 的并发控制原理。

版本链Read View隔离级别2PL
📝
WAL + ARIES 恢复

Write-Ahead Logging 原则,LogRecord 格式设计,顺序写入与 fsync。ARIES 三阶段崩溃恢复:Analysis、Redo、Undo。

WALARIESCheckpoint崩溃恢复
Volcano 执行引擎

关系代数算子树,open/next/close 迭代器模型。实现 Filter、Projection、Aggregate、Join、Sort 全套算子,理解现代数据库执行框架。

算子树Hash Join外部排序聚合
技术栈

极简依赖,全部手写

课程核心实现零第三方依赖,所有数据结构和算法亲手实现,真正理解每一行代码的意义。

Java 17
主语言,sealed interface, record
Maven
多模块构建,每章独立子模块
JUnit 5
每章内置单元测试
0 依赖
核心实现无第三方库
← 熵减智算