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 that are prepared to flex their strong systems programming skills.


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


Name Office Hours Location
Andy Pavlo Friday 3:30-4:30pm GHC 9019

Teaching Assistants

Name Office Hours Location
Tim Lee Monday 12:00-1:00pm GHC 5th Floor (Commons, Table 6)
Joyce Liao Monday 3:00-4:00pm GHC 5th Floor (Commons, Table 1)
Deepayan Patra Tuesday 3:00-4:00pm GHC 5th Floor (Commons, Table 6)
Yuchen Liang Tuesday 4:00-5:00pm GHC 5th Floor (Commons, Table 1)
Jackie Dong Tuesday 5:00-6:00pm GHC 5th Floor (Carrel 2)
Dhruv Arya Wednesday 12:00-1:00pm GHC 5th Floor (Commons, Table 6)
Mike Xu Wednesday 5:00pm-6:30pm GHC 5th Floor (Carrel 4)
Karthik Ramanathan Wednesday 6:30-7:30pm GHC 5th Floor (Carrel 4)
Kushagra Singh Thursday 5:00-7:00pm GHC 5th Floor (Carrel 1)
Wan Shen Lim Friday 1:00pm-2:00pm GHC 5th Floor (Commons, Table 1)

Course Development

Name Role
Chi Zhang Systems Developer
Terrier Jack Russell Terrier

House DJ

Name Equipment
DJ Mooshoo Pioneer DDJ-FLX6