Jan 17 |
Lecture #00: Course Overview & Logistics (No In-Class Lecture)
- Slides:
- Video:
|
|
— |
|
Jan 22 |
Lecture #01: Modern Analytical Database Systems
- Slides:
- Notes:
- Video:
|
|
|
|
Jan 24 |
Lecture #02: Data Formats & Encoding I
- Slides:
- Notes:
- Video:
|
|
|
|
Jan 29 |
Lecture #03: Data Formats & Encoding II
- Slides:
- Notes:
- Video:
|
|
|
|
Jan 31 |
Student Project Proposals |
|
|
|
Feb 05 |
Lecture #04: Query Execution & Processing I
- Slides:
- Notes:
- Video:
|
|
|
|
Feb 07 |
Lecture #05: Query Execution & Processing II
- Slides:
- Notes:
- Video:
|
|
|
|
Feb 12 |
Lecture #06: Vectorized Query Execution
- Make the Most out of Your SIMD Investments: Counter Control Flow Divergence in Compiled Query Pipelines (H. Lang, et al., VLDB Journal 2020)
- Rethinking SIMD Vectorization for In-Memory Databases (O. Polychroniou, et al., SIGMOD 2015)
(Optional)
- Filter Representation in Vectorized Query Execution, (A. Ngom, et al., DaMoN 2021)
(Optional)
- Micro Adaptivity in Vectorwise (B. Raducanu, et al., SIGMOD 2013)
(Optional)
- Everything You Always Wanted to Know About Compiled and Vectorized Queries But Were Afraid to Ask (T. Kersten, et al., VLDB 2018)
(Optional)
- Slides:
- Notes:
- Video:
|
|
|
|
Feb 14 |
Lecture #07: Code Generation & Compilation
- Slides:
- Notes:
- Video:
|
|
|
|
Feb 19 |
Lecture #08: Scheduling & Coordination
- Slides:
- Notes:
- Video:
|
|
|
|
Feb 21 |
Lecture #09: Hash Join Algorithms
- An Experimental Comparison of Thirteen Relational Equi-Joins in Main Memory (S. Schuh, et al., SIGMOD 2016)
- A Seven-Dimensional Analysis of Hashing Methods and its Implications on Query Processing (S. Richter, et al., VLDB 2015)
(Optional)
- Design and Evaluation of Main Memory Hash Join Algorithms for Multi-core CPUs (S. Blanas, et al., SIGMOD 2011)
(Optional)
- Main-Memory Hash Joins on Multi-Core CPUs: Tuning to the Underlying Hardware (C. Balkesen, et al., ICDE 2013)
(Optional)
- To Partition, or Not to Partition, That is the Join Question in a Real System (M. Bandle, et al., SIGMOD 2021)
(Optional)
- Slides:
- Notes:
- Video:
|
|
|
|
Feb 26 |
Lecture #10: Multi-Way Join Algorithms
- Slides:
- Notes:
- Video:
|
|
|
|
Feb 28 |
Student Project Updates |
|
|
|
Mar 04 |
Spring Break — No Class |
|
|
|
Mar 06 |
Spring Break — No Class |
|
|
|
Mar 11 |
Lecture #11: Server-side Logic Execution
- Froid: Optimization of Imperative Programs in a Relational Database (K. Ramachandra, et al., VLDB 2017)
- Dear User-Defined Functions, Inlining isn’t working out so great for us. Let’s try batching to make our relationship work. Sincerely, SQL (K. Franz, et al., CIDR 2024)
(Optional)
- Aggify: Lifting the Curse of Cursor Loops using Custom Aggregates (S. Gupta, et al., SIGMOD 2020)
(Optional)
- Compiling PL/SQL Away (C. Duta, et al., CIDR 2020)
(Optional)
- Procedural Extensions of SQL: Understanding Their Usage in the Wild (S. Gupta, et al., VLDB 2021)
(Optional)
- Functional-Style SQL UDFs With a Capital ‘F’ (C. Duta, et al., SIGMOD 2020)
(Optional)
- Slides:
- Notes:
- Video:
|
|
|
|
Mar 13 |
Lecture #12: Networking Protocols
- Don't Hold My Data Hostage: A Case for Client Protocol Redesign (M. Raasveldt, et al., VLDB 2017)
- ConnectorX: Accelerating Data Loading From Databases to Dataframes (X. Wang, et al., VLDB 2022)
(Optional)
- Tigger: A Database Proxy That Bounces With User-Bypass, (M. Butrovich, et al., VLDB 2023)
(Optional)
- Accelerating Relational Databases by Leveraging Remote Memory and RDMA (F. Li, et al., SIGMOD 2016)
(Optional)
- The End of Slow Networks: It's Time for a Redesign (F. Binnig, et al., VLDB 2016)
(Optional)
- Slides:
- Notes:
- Video:
|
|
|
|
Mar 18 |
Lecture #13: Optimizer Implementation I
- Slides:
- Notes:
- Video:
|
|
|
|
Mar 20 |
Lecture #14: Optimizer Implementation II
- Slides:
- Notes:
- Video:
|
|
|
|
Mar 25 |
Lecture #15: Optimizer Implementation III
- Slides:
- Notes:
- Video:
|
|
|
|
Mar 27 |
Andy's Mystical Journey with Viral Gastroenteritis — No Class |
|
|
|
Apr 01 |
Lecture #16: Cost Models
- How Good are Query Optimizers, Really? (V. Leis, et al., VLDB 2015)
- LEO - DB2's LEarning Optimizer (M. Stillger, et al., VLDB 2001)
(Optional)
- Deep Unsupervised Cardinality Estimation (Z. Yang, et al., VLDB 2019)
(Optional)
- An End-to-End Learning-based Cost Estimator (J. Sun, et al., VLDB 2019)
(Optional)
- Join Size Estimation Subject to Filter Conditions (D. Vengerov, et al., VLDB 2015)
(Optional)
- Two-Level Sampling for Join Size Estimation (Y. Chen, et al., SIGMOD 2017)
(Optional)
- Slides:
- Notes:
|
|
|
— |
Apr 03 |
Student Project Updates |
|
|
|
Apr 08 |
Lecture #17: System Analysis (Google Dremel / BigQuery)
- Slides:
- Notes:
- Video:
|
|
|
|
Apr 10 |
Lecture #18: System Analysis (Databricks / Spark)
- Slides:
- Notes:
- Video:
|
|
|
|
Apr 15 |
Lecture #19: System Analysis (Snowflake)
- Slides:
- Notes:
- Video:
|
|
|
|
Apr 17 |
Lecture #20: System Analysis (DuckDB)
- Slides:
- Notes:
- Video:
|
|
|
|
Apr 22 |
Lecture #21: System Analysis (Yellowbrick)
- Slides:
- Notes:
- Video:
|
|
|
|
Apr 24 |
Lecture #22: System Analysis (Amazon Redshift)
- Slides:
- Notes:
- Video:
|
|
|
|