CMU 15-721: Advanced Database Systems

The sequel to CMU 15-445, diving into cutting-edge database system internals and research.

About This Course

CMU 15-721 is Andy Pavlo's advanced database course, focused on modern in-memory database systems. It covers the state-of-the-art in database engine design, including techniques used by systems like DuckDB, ClickHouse, and Snowflake.

Each semester focuses on a specific theme (e.g., in-memory OLTP, analytical systems) and covers the latest research papers in the field.

What You Will Learn

  • In-Memory Databases: Architecture, memory management, DRAM vs. NVM
  • MVCC: Implementation strategies, garbage collection, version storage
  • Query Compilation: JIT compilation, vectorized vs. compiled execution
  • Vectorized Execution: SIMD, batch processing, column stores
  • Parallel Execution: Intra-query parallelism, morsel-driven parallelism
  • Networking: Database protocols, data serialization, zero-copy transfers
  • Query Optimization: Adaptive optimization, machine learning for query planning
  • Modern Analytical Systems: Lakehouse architectures, disaggregated storage

Prerequisites

CMU 15-445 or equivalent database internals course. Strong C++ skills.

Course content belongs to Carnegie Mellon University.