CMU 15-445: Database Systems
课程简介
- 来源:Carnegie Mellon University(Andy Pavlo)
- 先修要求:C++ 基础、数据结构、操作系统基础
- 编程语言:C++
- 课程难度:🌟🌟🌟🌟
- 课程网站:15445.courses.cs.cmu.edu
CMU 15-445 是 CMU 的数据库系统课程,由 Andy Pavlo 教授主讲。这门课被公认为全球最好的数据库课程之一——不是因为它讲得最全面,而是因为它让你真正动手实现一个完整的数据库管理系统。
课程资源
- 课程网站:15445.courses.cs.cmu.edu
- 课程视频:YouTube
- 实验代码:BusTub 数据库(课程使用的教学数据库)
实验列表
| 实验 | 内容 | 难度 |
|---|---|---|
| Lab 1: Buffer Pool Manager | 实现缓冲池管理器 | 🌟🌟🌟 |
| Lab 2: B+ Tree Index | 实现 B+ 树索引 | 🌟🌟🌟🌟 |
| Lab 3: Query Execution | 实现查询执行器 | 🌟🌟🌟🌟 |
| Lab 4: Concurrency Control | 实现并发控制(锁管理器 + 死锁检测) | 🌟🌟🌟🌟🌟 |
课程特点
- 实现完整的数据库:从零开始实现一个功能完整的数据库管理系统
- BusTub:课程使用专门设计的教学数据库框架,代码量可控
- 4 个核心实验:覆盖数据库的四大核心组件
自学建议
C++ 要扎实。 课程用 C++ 实现,需要熟悉指针、内存管理和模板。
按顺序做实验。 每个实验都依赖前一个实验的代码。
阅读课程笔记。 Andy Pavlo 的课程笔记写得非常好,是理解理论的关键。
备注
15-445 是数据库课程中实验设计最好的。完成所有实验后,你对数据库的理解会脱胎换骨。
Andy Pavlo 是数据库领域的顶级研究者,他的课程视频质量极高,强烈推荐。