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 will be used to illustrate these techniques and trade-offs. The course is appropriate for students with strong systems programming skills.
Name | Office Hours | Location | |
---|---|---|---|
Andy Pavlo | Monday 1:30-2:30 | GHC 9019 |
Name | Office Hours | Location | |
---|---|---|---|
Lin Ma | Friday 4:00-5:00 | GHC 9215 | |
Tianyu Li | Tuesday 3:30 - 4:20 | 5th floor (Citadel Commons) | |
Gustavo Angulo | Monday 4:30-5:30 | 5th floor (Citadel Commons) | |
David Gershuni | Wednesday 3:00-4:00 | 5th floor (Citadel Commons) | |
Ao Zeng | Saturday 11:00-12:20 | 5th floor (Citadel Commons) | |
Ajay Benno | Thursday 1:00-2:00 | 5th floor (Citadel Commons) | |
Yangjun Sheng | Wednesday 1:30-2:30 | 5th floor (Citadel Commons) |