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.
Name | Office Hours | Location | |
---|---|---|---|
![]() |
Andy Pavlo | Monday 11:00-12:00pm ET | Zoom |
Name | Office Hours | Location | |
---|---|---|---|
![]() |
Kunal Jobanputra | Thursday 10:00-11:00am ET | Zoom |
![]() |
Arvind Sai Krishnan | Friday 10:00-11:00am ET | Zoom |
![]() |
Rohan Aggarwal | Tuesday 8:00-9:00pm ET | Zoom |
![]() |
Yuhong Zhang | Wednesday 10:30-11:30am ET | Zoom |
![]() |
Ricky Xu | Saturday 9:00-10:00am ET | Zoom |
![]() |
Gautam Jain | Thursday 5:00-6:00pm ET | Zoom |
![]() |
Elena Cai | Friday 8:00-9:00pm ET | Zoom |
![]() |
Preetansh Goyal | Tuesday 1:30-2:30pm ET | Zoom |
![]() |
Wuwen Wang | Thursday 8:00-9:00pm ET | Zoom |
![]() |
Ian Romines | Tuesday 10:00-11:00am ET | Zoom |
![]() |
Ricky Zhou | Monday 8:00-9:00pm ET | Zoom |