Schedule

Date Topic Slides Notes Video
Jan 17, 2018 Course Introduction and History of Database Systems
Assignment Released: SQL String Functions
Jan 22, 2018 In-Memory Databases
Jan 24, 2018 Query Compilation
Jan 29, 2018 Optimistic Concurrency Control (OCC)
Assignment Due: SQL String Functions
Jan 31, 2018 Multi-Version Concurrency Control (Part I)
Assignment Released: Concurrent Index
Feb 05, 2018 Multi-Version Concurrency Control (Part II)
Feb 07, 2018 Index Locking & Latching
Feb 12, 2018 OLTP Indexes (Part I)
Feb 14, 2018 OLTP Indexes (Part II)
Feb 19, 2018 Storage Models, Data Layout, & System Catalogs
Feb 21, 2018 Database Compression
Feb 26, 2018 Logging Protocols
Feb 28, 2018 Checkpointing Protocols
Mar 05, 2018 Networking
Assignment Released: Final Project
Mar 07, 2018 Mid-term Exam
Mar 12, 2018 Spring Break — No Class
Assignment Due: Concurrent Index
Mar 14, 2018 Spring Break — No Class
Mar 19, 2018 Student Project Proposals
Mar 21, 2018 Optimizer Implementation (Part I)
Mar 26, 2018 Optimizer Implementation (Part II)
Mar 28, 2018 Cost Models
Apr 02, 2018 Execution & Scheduling
Apr 04, 2018 Parallel Join Algorithms (Hashing)
Apr 09, 2018 Parallel Join Algorithms (Sorting)
Apr 11, 2018 Student Project Meetings — No Class
Apr 16, 2018 Student Project Updates
Apr 18, 2018 Vectorized Execution (Part I)
Apr 23, 2018 Vectorized Execution (Part II)
Apr 25, 2018 Larger-than-Memory Databases
Apr 30, 2018 Databases on New Hardware
May 02, 2018 Guest Speaker: Ashish Motivala, Snowflake Computing

Trigger Warning: The material presented in this lecture uses explicit language and discusses certain situations in database management systems that may be triggering to some students.