CMU 15-445/645 - Database Systems
Taught by Prof. Andy Pavlo in Fall, 2019 and Fall, 2023.
The first 7 lectures are from the course taught in Fall, 2019, the rest are from the course taught in Fall, 2023.
Course Description
This course is on the design and implementation of database management systems. Topics include data models (relational, document, key/value), storage models (n-ary, decomposition), query languages (SQL, stored procedures), storage architectures (heaps, log-structured), indexing (order preserving trees, hash tables), transaction processing (ACID, concurrency control), recovery (logging, checkpoints), query processing (joins, sorting, aggregation, optimization), and parallel architectures (multi-core, distributed). Case studies on open-source and commercial database systems are used to illustrate these techniques and trade-offs. The course is appropriate for students with lit systems programming skills.
Course Website (2019) Course Website (2023) Lecture Videos (YouTube)