Schedule

No Date Topic Readings Code
Chapter 0: Introduction
1 Jan 7 Lecture 01: Course Introduction § 1 [v1]
2 Jan 9 Lecture 02: Recap: Storage Management § 12, 13 [v2] [v18]
3 Jan 14 Lecture 03: Recap: Access Methods § 14, 18 [v25] [v33] [inverted index]
4 Jan 16 Lecture 04: Recap: Query Execution § 15 [v35] [v44] [columnar]
5 Jan 21 No class — ❄️❄️❄️ Snow day!
Chapter 1: Logging and Recovery Methods
6 Jan 23 Lecture 05: Logging (Part 1) § 17, 19
7 Jan 28 Lecture 06: Logging (Part 2) "
8 Jan 30 Lecture 07: Recovery (Part 1) "
9 Feb 4 Lecture 08: Recovery (Part 2) "
10 Feb 6 Lecture 09: ARIES from First Principles "
11 Feb 11 Lecture 10: Case Studies "
12 Feb 13 Lecture 11: Persistent Memory Databases "
Chapter 2: Concurrency Control
13 Feb 18 Lecture 12: Concurrency Control § 18
14 Feb 20 Lecture 13: Two-Phase Locking "
15 Feb 25 Lecture 14: Timestamp Ordering "
16 Feb 27 Lecture 15: Optimistic Concurrency Control "
17 Mar 4 Exam 1
18 Mar 6 Lecture 16: Multi-Version Concurrency Control "
19 Mar 11 Lecture 17: Concurrency Control in MMDBs "
20 Mar 13 Spring Break — No Class "
21 Mar 18 Spring Break — No Class
22 Mar 20 Spring Break — No Class
20 Mar 25 Lecture 18: Case Studies "
Chapter 3: Query Optimization
23 Mar 27 Lecture 19: Rule-Based Query Optimization § 16
24 Apr 1 Lecture 20: Cost-Based Query Optimization "
25 Apr 3 Lecture 21: Design Decisions + Search Strategies "
26 Apr 8 Lecture 22: Cascades Optimization Framework "
27 Apr 10 Lecture 23: Adaptive Query Optimization & Cost Models "
28 Apr 15 Lecture 24: User Defined Functions "
29 Apr 17 Dolby Tech Talk
30 Apr 22 Project Presentations
31 Apr 24 Exam 2

NOTE: The schedule is tentative and is subject to change as the semester progresses.

Credits

These slide decks are derived from courses developed by Thomas Neumann and Andy Pavlo.