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 TBD TBD
Kunal Jobanputra TBD TBD
Zhaozhe Song TBD TBD
Weichen Ke TBD TBD
Wen Xuan Qiu TBD TBD
Erik Sargent TBD TBD
Utkarsh Agarwal TBD TBD

House DJ

Name Equipment
DJ Drop Tables Pioneer DDJ SB3