Schedule

Date Topic Slides Notes Video
Jan 13, 2020 Course Introduction and History of Databases (No In-Class Lecture)
Jan 15, 2020 In-Memory Databases (No In-Class Lecture)
Jan 20, 2020 Martin Luther King Day — No Class
Jan 22, 2020 Multi-Version Concurrency Control (Design Decisions)
Project Released: Contention Hotspot
Jan 27, 2020 Multi-Version Concurrency Control (Protocols)
Jan 29, 2020 Multi-Version Concurrency Control (Garbage Collection)
Feb 03, 2020 OLTP Indexes (B+Tree Data Structures)
Feb 05, 2020 OLTP Indexes (Trie Data Structures)
Feb 10, 2020 Storage Models, Data Layout, & System Catalogs
Feb 12, 2020 Database Compression
Feb 17, 2020 Recovery Protocols
Project Released: Concurrent Index
Feb 19, 2020 Networking Protocols
Feb 24, 2020 Scheduling
Feb 26, 2020 Query Execution & Processing
Mar 02, 2020 Query Compilation
Mar 04, 2020 Vectorized Execution
Project Released: Extra Credit
Project Released: Final Project
Mar 09, 2020 Spring Break — No Class
Mar 11, 2020 Spring Break — No Class
Mar 16, 2020 University Closure — No Class
Mar 18, 2020 Student Project Proposals
Mar 23, 2020 Vectorization vs. Compilation
Mar 25, 2020 Parallel Join Algorithms (Hashing)
Mar 30, 2020 Parallel Join Algorithms (Sorting)
Apr 01, 2020 Optimizer Implementation (Overview)
Apr 06, 2020 Optimizer Implementation (Top-Down vs. Bottom-Up)
Apr 08, 2020 Student Project Updates
Apr 13, 2020 Optimizer Implementation (Alternative Approaches)
Apr 15, 2020 Cost Models
Apr 20, 2020 Larger-than-Memory Databases
Apr 22, 2020 Server-side Logic Execution
Apr 27, 2020 Databases on New Hardware
Apr 29, 2020 Guest Speaker: Ippokratis Pandis (PhD'07) (Amazon Redshift) (Only Available to CMU Students)