Schedule

Module Topic Readings Code
Chapter 0: Introduction
1 Lecture 01: Relational Databases § 1.1-1.7 Database-system basics
2 Lecture 02: BuzzDB § 2.1-2.6 Relational model [v001]
Chapter 1: Storage Management
3 Lecture 03: Storage Management § 12.1-12.6 Physical storage § 13.1 Storage architecture [v002] [v003] [v004] [v005]
3 Lecture 04: Smart Pointers and Pages § 13.1 Storage architecture § 13.2 File organization [v006] [v007] [v008]
4 Lecture 05: Slotted Page § 13.3 Records in files [v009] [v010] [v011]
4 Lecture 06: File and Storage Management § 13.2 File organization § 13.4 Data-dictionary storage [v012] [v013] [v014]
5 Lecture 07: Storage and Buffer Management § 13.5 Database buffer [v015] [v016]
5 Lecture 08: 2Q Policy § 13.5 Database buffer [v017] [v018]
6 Lecture 09: Multi-Threading and Synchronization § 18.1 Lock-based protocols § 18.3 Multiple granularity [bank]
6 Lecture 10: Database Configuration § 25.1 Performance tuning [v023] [v024]
Chapter 2: Access Methods
7 Lecture 11: Hash Tables § 14.1 Basic concepts § 14.5 Hash indices [v025] [v026] [v027]
8 Lecture 12: Thread-Safe Hash Table § 14.5 Hash indices § 18.1 Lock-based protocols [v028] [v029] [v030]
Mid-Term Exam
9 Lecture 13: Range Query and Ordered Index § 14.1 Basic concepts § 14.2 Ordered indices [v031] [v032]
9 Lecture 14: B+Trees § 14.3 B+-Tree index files § 14.4 B+-Tree extensions [v033]
10 Lecture 15: Trie [trie] [bitset]
10 Lecture 16: Inverted Index and RTree § 8.3 Textual data § 8.4 Spatial data § 14.10 Spatial/temporal indexing [inverted index] [rtree]
10 Lecture 17: ND RTree § 14.10 Spatial/temporal indexing § 24.4 Indexing of spatial data [ndrtree]
10 Lecture 18: Learned Index [regression] [neural network]
Chapter 3: Query Execution
11 Lecture 19: Query Execution § 15.1 Overview § 15.2 Measures of query cost § 15.7 Evaluation of expressions [v035] [v036] [v037]
12 Lecture 20: Select and Aggregation § 15.3 Selection operation § 15.6 Other operations [v038] [v039] [v040]
13 Lecture 21: Query Parsing and Compilation § 3.1-3.3 SQL query language § 15.7 Evaluation of expressions [v041] [v042] [v043] [v044]
14 Lecture 22: Columnar Storage and Compression § 13.6 Column-oriented storage § 13.7 Main-memory databases [columnar] [compression]
14 Lecture 23: Vectorized Execution and Course Retrospective § 13.7 Main-memory databases § 15.8 Query processing in memory [simd]
Final Exam

Note: Readings refer to Database System Concepts, 7th ed. Supplemental topics are covered through course materials.

Credits

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