Course Information

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.


Special thanks to the following companies for equipment donations and/or support for course development.


Name Office Hours Location
Andy Pavlo Monday 1:30-2:30 GHC 9019

Teaching Assistants

Name Office Hours Location
Wan Shen Lim Saturday 1:00-2:00pm GHC 5th floor (Carrel 3)
Kunal Jobanputra Sunday 1:00-2:00pm GHC 5th floor (Citadel Commons)
Zhaozhe Song Wednesday 4:00-5:00pm GHC 5th floor (Citadel Commons)
Weichen Ke Tuesday 2:45-3:45pm GHC 5th floor (Citadel Commons)
Wen Xuan Qiu Monday 10:30-11:30am GHC 5th floor (Citadel Commons) table 6
Erik Sargent Thursday 3:00-4:00pm GHC 5th floor (Citadel Commons)
Utkarsh Agarwal Wednesday 3:00-4:00pm GHC 5th floor (Citadel Commons)
Pulkit Agarwal Friday 10:30-11:30am GHC 5th floor (Citadel Commons)
Amadou Latyr Ngom Thursday 4:00-6:00pm GHC 5th floor (Citadel Commons)

House DJ

Name Equipment
DJ Drop Tables Pioneer DDJ SB3