跳转至

CMU 15-445: Database Systems

课程简介

  • 来源:Carnegie Mellon University(Andy Pavlo)
  • 先修要求:C++ 基础、数据结构、操作系统基础
  • 编程语言:C++
  • 课程难度:🌟🌟🌟🌟
  • 课程网站:15445.courses.cs.cmu.edu

CMU 15-445 是 CMU 的数据库系统课程,由 Andy Pavlo 教授主讲。这门课被公认为全球最好的数据库课程之一——不是因为它讲得最全面,而是因为它让你真正动手实现一个完整的数据库管理系统。

课程资源

实验列表

实验 内容 难度
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 是数据库领域的顶级研究者,他的课程视频质量极高,强烈推荐。