CMU 15-445

数据库系统

CMU 15-445 覆盖关系模型、存储引擎、索引、查询执行、优化、并发控制、事务和恢复机制。

Learning Path

从 SQL 走进数据库内核。

建议从存储和索引开始,再进入查询执行、优化和事务处理。

存储与索引

理解页、缓冲池、B+ 树和哈希索引如何支撑查询。

查询执行

关注算子、连接算法、优化器和执行计划。

事务与恢复

把并发控制、日志和恢复机制连接成完整数据库系统。

课程档案 / 08

从使用 SQL 进入数据库执行引擎和事务系统内部。

CMU 15-445 以数据库内核为主线,覆盖磁盘存储、缓冲池、索引、查询执行、优化、并发控制与恢复。课程项目要求在真实代码框架中实现关键组件。

先修准备

需要数据结构、C++ 与并发基础

建议能够实现树和哈希表,理解锁、线程和面向对象接口。SQL 使用经验有帮助但不是课程核心。

  • 熟悉现代 C++ 和调试工具
  • 理解 B+ 树基本结构
  • 准备阅读规模较大的代码库
项目策略

先守住组件契约和不变量

数据库错误经常跨越多个模块。实现前应明确页面布局、锁顺序、生命周期和接口约定。

  • 为缓冲池与索引编写局部测试
  • 记录锁的获取和释放顺序
  • 使用执行计划解释查询行为

内容地图

阶段 01存储与索引

磁盘布局、页面、缓冲池、哈希索引和 B+ 树。

阶段 02查询处理

关系代数、执行算子、连接算法、统计信息和查询优化。

阶段 03事务与恢复

并发控制、隔离级别、两阶段锁、时间戳、日志和崩溃恢复。

完成标准

能够解释一条查询从 SQL 到存储层的完整执行过程。

学习者应能分析索引和执行计划,理解事务隔离与恢复机制,并在数据库代码库中定位性能或并发问题。