CMU 15-445: Introduction to Database Systems
Andy Pavlo's acclaimed course on database internals. Learn how databases actually work under the hood.
About This Course
CMU 15-445 is one of the best database systems courses available online. Taught by Andy Pavlo, it focuses on the design and implementation of database management systems rather than just SQL usage. You will understand the internals of systems like PostgreSQL, MySQL, and SQLite.
The course is known for its engaging lectures and challenging C++ programming projects where students build components of a real database system (BusTub).
What You Will Learn
- Storage: Disk-oriented architecture, buffer pool management, page layout
- Indexing: B+ trees, hash tables, skip lists, trie indexes
- Query Processing: Sorting, aggregation, joins (nested loop, sort-merge, hash)
- Query Optimization: Cost models, join ordering, plan enumeration
- Concurrency Control: Two-phase locking, timestamp ordering, MVCC
- Recovery: Write-ahead logging, checkpointing, ARIES algorithm
- Distributed Databases: Partitioning, replication, distributed transactions
Prerequisites
C++ programming experience. Data structures and algorithms.
External Links
Course content belongs to Carnegie Mellon University.