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.

 Acknowledgements

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

Instructors

Name Office Hours Location
Lin Ma Wednesday 8:30-9:30pm (Temporary due to traveling) OH Queue (go to the 15-445 queue)
Andrew Crotty Wednesday 4:30-6:30pm GHC 9019

Teaching Assistants

Name Office Hours Location
Mike Xu Monday 5:00-6:30pm GHC 5th floor (Citadel Commons), Carrell 3 (GHC 5211)
Garrison Hess Thursday 5:00-7:00pm Zoom
Joe Koshakow Friday 1:00-2:30pm GHC 5th floor (Citadel Commons), Table 3
Huilian Sophie Qiu Wednesday 6:30-8:00pm Zoom
Abi Kim Tuesday 5:00-8:00pm GHC 5th floor (Citadel Commons), Carrell 4 (GHC 5209)
Matt Butrovich Friday 2:30-4:30pm OH Queue (go to the 15-445 queue)
Kyle Dotterrer Saturday 5:00-7:00pm GHC 5th floor (Citadel Commons), Carrell 3 (GHC 5211)

House DJ

Name Equipment
DJ Mooshoo Pioneer DDJ SB3