Advanced Database Systems
Prof. Andy PavloGraduate systems seminar on modern OLAP execution engines: columnar compression, Parquet/Arrow formats, vectorized SIMD execution, JIT query compilation, worst-case optimal joins, and cloud lakehouses.
Syllabus
22S2024 #00 - Course Overview & Logistics (CMU Advanced Database Systems)
An administrative overview of CMU's graduate-level Advanced Database Systems course, detailing the syllabus, grading structure, project expectations, and logistical information for the Spring 2024 semester.
S2024 #01 - Modern OLAP Database Systems (CMU Advanced Database Systems)
This lecture introduces the foundational concepts and architectures of modern Online Analytical Processing (OLAP) database systems. It examines the distinguishing characteristics between OLAP and OLTP, exploring key design considerations such as columnar storage, vectorization, and query processing optimizations relevant to analytical workloads.
S2024 #02 - Data Formats & Encoding Part 1 (CMU Advanced Database Systems)
This lecture introduces fundamental concepts in database data organization, examining various data formats, encoding schemes, and their implications for storage efficiency and query performance in advanced database systems.
S2024 #03 - Data Formats & Encoding Part 2 (CMU Advanced Database Systems)
This lecture segment from CMU's advanced database course delves into the intricate mechanisms of data formats and encoding within modern database systems. It analyzes design choices for efficient data representation and storage.
S2024 #04 - Query Execution & Processing Part 1 (CMU Advanced Database Systems)
This lecture delves into the fundamental mechanisms of query execution in advanced database systems, analyzing various execution models and the physical operators employed for data retrieval and manipulation.
S2024 #05 - Query Execution & Processing Part 2 (CMU Advanced Database Systems)
This lecture continues the exploration of advanced database systems, focusing on the intricate mechanisms of query execution and processing within modern relational database management systems. Topics include operators, query plans, and strategies for efficient data manipulation.
S2024 #06 - Vectorized Query Execution Using SIMD (CMU Advanced Database Systems)
This lecture from CMU's Advanced Database Systems course details the principles and implementation of vectorized query execution, leveraging Single Instruction, Multiple Data (SIMD) CPU instructions to accelerate database operations. It covers the architectural considerations and performance implications of vectorization.
Lecture 7: JIT Query Compilation & Code Generation (15-721)
This lecture explores Just-In-Time (JIT) query compilation, detailing its mechanisms for generating optimized machine code dynamically to enhance database system performance. It covers techniques like LLVM integration and vectorization.
Lecture 8: Query Scheduling & Coordination (15-721)
This session delves into advanced query scheduling and coordination strategies within database systems, examining parallel execution models and resource management techniques for concurrent query processing in distributed environments.
Lecture 9: Parallel Hash Join Algorithms (15-721)
This lecture dissects various parallel hash join algorithms, analyzing their performance characteristics and applicability in large-scale data processing scenarios. Topics include grace hash join, hybrid hash join, and their distributed implementations.
Lecture 10: Multi-Way Join Algorithms / Worst-Case Optimal Joins (15-721)
This session investigates multi-way join algorithms, with a specific focus on worst-case optimal joins and their theoretical foundations. It discusses techniques like Y-joins and Leapfrog Triejoin for complex query scenarios.
Lecture 11: User-Defined Function Optimizations (15-721)
This lecture examines optimization techniques for User-Defined Functions (UDFs) within database systems, covering strategies for efficient execution, inlining, and minimizing overhead when integrating custom logic into queries.
Lecture 12: Database Networking Protocols (15-721)
This lecture covers the fundamental database networking protocols, discussing client-server communication, inter-node communication in distributed systems, and optimizations for reducing latency and improving throughput.
Lecture 13: Query Optimizer Implementation 1 (15-721)
This first part of the lecture series on query optimizer implementation introduces the fundamental components and architectural patterns of modern database optimizers, focusing on rule-based and cost-based optimization principles.
Lecture 14: Query Optimizer Implementation 2 (15-721)
This graduate-level lecture examines advanced techniques for implementing query optimizers within relational database management systems, focusing on cost models, search strategies, and join order enumeration algorithms.
Lecture 15: Query Optimizer Implementation 3 (15-721)
This lecture details advanced techniques in query optimizer implementation, focusing on cost models, join ordering heuristics, and physical operator selection within modern relational database management systems.
Lecture 17: Google BigQuery / Dremel (15-721)
This lecture provides an in-depth analysis of Google BigQuery and its underlying Dremel architecture, examining column-oriented storage, nested data models, and the parallel query execution engine that enables petabyte-scale analytics.
Lecture 18: Databricks Photon / Spark SQL (15-721)
This session dissects Databricks Photon and Spark SQL, exploring how these technologies accelerate data processing. It covers vectorized query engines, adaptive query execution, and their integration for high-performance analytics on Apache Spark.
Lecture 19: Snowflake Data Warehouse Internals (15-721)
This lecture uncovers the internal architecture of the Snowflake Data Warehouse, detailing its multi-cluster shared data architecture, micro-partitions, and separation of compute and storage for cloud-native analytics.
Lecture 20: DuckDB Embedded Database System (15-721)
This session introduces DuckDB, an embedded analytical database system, exploring its column-oriented architecture, vectorized query processing, and suitability for in-process analytics and scientific computing workloads.
Lecture 21: Yellowbrick Data Warehouse System (15-721)
This lecture examines the Yellowbrick Data Warehouse system, focusing on its hybrid cloud architecture, advanced query processing, and techniques for high-performance analytical workloads at scale.
Lecture 22: Amazon Redshift Data Warehouse System (15-721)
This lecture provides a detailed overview of Amazon Redshift, covering its massively parallel processing (MPP) architecture, columnar storage, and optimizations for large-scale data warehousing and analytics in the AWS cloud environment.





















