/cmu-database-systems-course

This course is on the design and implementation of database management systems from the CMU Database Group.

cmu-database-systems-course

This course is on the design and implementation of database management systems from the CMU Database Group. 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 will be used to illustrate these techniques and trade-offs. The course is appropriate for students with strong systems programming skills.

All credits to Professor Andy Pavlo at Carnegie Mellon and and his team at the Database Group. For more information on this course visit: https://15445.courses.cs.cmu.edu/fall2017/

As of this writing (2/5/19) video lectures are available on YouTube at: https://www.youtube.com/playlist?list=PLSE8ODhjZXjYutVzTeAds8xUt1rcmyT7x

Textbook readings and assignments for each lecture:
Lecture 1: Ch 1-2
Lecture 2: Ch 6
Lecture 3: Ch 3-5
HW1: SQL
Lecture 4: Ch 7-8
Lecture 5: Ch 7-8
HW2: Normal Forms
Lecture 6: Ch 10.1 - 10.4
Lecture 7: 10.5 - 10.8
HW3: Indexes
Project 1: Buffer Pool Manager
Lecture 8: Ch 11.6 - 11.7
Lecture 9: Ch 11.1 - 11.4
Lecture 10: Ch 12.1 - 12.3, 12.7
Project 2: B+ Tree
Lecture 11: Ch 12.4 - 12.5
HW4: Join algorithms
Lecture 12: Ch 12.5 - 12.6
Lecture 13: Ch 13
Lecture 14: Ch 18
Lecture 15: Ch 4.2, 5.2 - 5.3
Lecture 16: Ch 14
Lecture 17: Ch 15.1 - 15.3, 15.9
Lecture 18: Ch 15.10
Lecture 19: Ch 15.4 - 15.5
Lecture 20: Ch 15.6 - 15.7
HW5: Concurrency Control
Project 3: Concurrency Control
Lecture 21: Ch 16.1 - 16.7
Lecture 22: Ch 16.1 - 16.8
Lecture 23: Ch 17.3 - 17.5, 19.1 - 19.6
HW6: Recovery
Lecture 24:19.7 - 19.9
Lecture 25: Guest Speaker -> Barry Morris (NuoDB)
Lecture 26: Final Review/Other Systems
Project 4: Logging and Recovery