Schedule

Module Topic Readings Code
Chapter 0: Introduction
1 Lecture 01: Relational Databases § 1
2 Lecture 02: BuzzDB § 2 [v1]
Chapter 1: Storage Management
3 Lecture 03: Storage Management § 12, 13 [v2] [v3] [v4] [v5]
3 Lecture 04: Smart Pointers and Pages § 12, 13 [v6] [v7] [v8]
4 Lecture 05: Slotted Page § 12, 13 [v9] [v10] [v11]
4 Lecture 06: File and Storage Management § 12, 13 [v12] [v13] [v14]
5 Lecture 07: Storage and Buffer Management § 12, 13 [v15] [v16]
5 Lecture 08: 2Q Policy § 12, 13 [v17] [v18]
6 Lecture 09: Multi-Threading and Synchronization § 12, 13 [bank]
6 Lecture 10: Database Configuration § 12, 13 [v23] [v24]
📝 Mid-Term Exam
Chapter 2: Access Methods
7 Lecture 11: Hash Tables [v25] [v26] [v27]
8 Lecture 12: Thread-Safe Hash Table § 14, 18 [v28] [v29] [v30]
9 Lecture 13: Range Query and Ordered Index § 14, 18 [v31] [v32]
9 Lecture 14: B+Trees § 14, 18 [v33]
10 Lecture 15: Trie § 14, 18 [trie] [bitset]
10 Lecture 16: Inverted Index and RTree § 14, 18 [inverted index] [rtree]
10 Lecture 17: ND RTree § 14, 18 [ndrtree]
10 Lecture 18: Learned Index § 14, 18 [regression] [neural network]
Chapter 3: Query Execution
11 Lecture 19: Query Execution § 14, 18 [v35] [v36] [v37]
12 Lecture 20: Select and Aggregation § 15 [v38] [v39] [v40]
13 Lecture 21: Query Parsing and Compilation § 15 [v41] [v42] [v43] [v44]
14 Lecture 22: Columnar Storage and Compression § 15 [columnar] [compression]
14 Lecture 23: Vectorized Execution and Course Retrospective § 15 [simd]
📝 Final Exam

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.