1/16/24 | Historical Context | History: Codd,
System R,
Ingres | No class | Architecture of a Database System | A Relational Model of Data | A History and Evaluation of System R | | RDBMS Geneaology |
1/18/24 | | IBM Ur-Texts | Lecture 1: On the remarkable foresight of System R | Granularity of Locks and Degrees of Consistency | Access Path Selection in a Relational Database Management System | The Design and Implementation of Ingres | | |
1/23/24 | | Berkeley Evolved: Postgres | Lecture 2: On the remarkable breadth of Postgres | The POSTGRES Next-Generation Database System | The Design of the Postgres Storage System | Looking Back at Postgres | | |
1/25/24 | | Wisconsin: Gamma | Lecture 3: On the underappreciated foresight of Gamma | The Gamma Database Machine Project | | Parallel Database Systems: The Future of High Performance Database Systems | GAMMA - A High Performance Dataflow Database Machine | The Architecture of the Exodus Extensible DBMS |
1/30/24 | Transactions | Concurrency Control | Lecture 4: Many things you ever wanted to know about Concurrency Control | Concurrency Control in Distributed Database Systems | | Notes on Distributed Databases,
Lindsay et al. | | |
2/1/24 | | CC Performance | Lecture 5,
in which the professor celebrates and dunks upon empirical computer science | Concurrency control performance modeling: alternatives and implications | A Tale of 1000 Cores | The Full Story of 1000 Cores | Talk slides for The Tale | |
2/6 | | Isolation Levels | Lecture 6: Isolation Levels,
the mess made by one Turing winner,
cleaned up with help from another | Generalized Isolation Level Definitions | | Seeing is believing: A client-centric specification of database isolation | | |
2/8/24 | | Snapshot Isolation | Lecture 7: Sleight of hand from Oracle and how to improve it | Serializable Snapshot Isolation in PostgreSQL | | Serializable Isolation for Snapshot Databases | Making Snapshot Isolation Serializable | |
2/13 | QP and Optimization | Cascades | Lecture 8: Extensible Query Optimization can solve your problems too ! (aka Cascades explained...finally) | Extensible Query Optimizers in Practice | | Volcano -- An Extensible and Parallel Query Evaluation Systems | The Cascades Framework for Query Optimization | Evita Raced: Metacompilation for Declarative Networks |
2/15/24 | | Adaptive QP | Lecture 9: What if we could change our mind every tuple? | Eddies: Continuously Adaptive Query Processing | Lifting the Burden of History from Adaptive Query Processing | An Adaptive Query Execution System for Data Integration | An Initial Study of Overheads of Eddies | |
2/20/24 | | | Lecture 10: Paying LIP Service to Adaptivity | Looking Ahead Makes Query Plans Robust | | SQLite: Past,
Present and Future | Simple Adaptive Query Processing vs. Learned Query Optimizers: Observations and Analysis | |
2/22/24 | | Optimal (Multiway) Joins | Lecture 11: "Join Ordering isn't a Thing. WCOJ is a Thing!" Or is it the other way around? | Free Join: Unifying Worst-Case Optimal and Traditional Joins | | Shorter version for SIGMOD Record: From Binary Join to Free Join | Leapfrog Trie Join: A Worst-Case Optimal Join | Worst-case Optimal Join Algorithms |
2/27/24 | Datalog and Recursive Queries | | Lecture 12: Datalog,
Without the Slog | Datalog &
Recursive Query Processing,
pp. 106-135 | | Max Willsey's course notes | | |
3/5/24 | | | Lecture 13: Dedalus is Datalog in Time and Space | Dedalus: Datalog in Time and Space | | Modern Datalog Engines, Sec 3.2 | The Declarative Imperative | |
3/7 | Coordination Avoidance | CAP and CALM | Lecture 14: CAP and CALM | CAP Twelve Years Later: How the "Rules" Have Changed | Keeping CALM: When Consistency is Easy | Coordination Avoidance in Database Systems | | |
3/12 | | Lattices | Lecture 15: Quicksand and ACID 2.0 | Keeping CALM: When Consistency is Easy | Building on Quicksand | | | |
3/14 | | Monotonic Programming: CRDTs, LVars, Bloom^L | Lecture 16: Forward, Programmers! Monotonic language constructs | CRDTs | Logic and Lattices for Distributed Programming | LVars: Lattice-Based Data Structures for Deterministic Parallelism | crdt.tech | |
3/19 | More Algebraic QP | Data provenance and beyond | Lecture 17: Your Provenance is a Polynomial! | Provenance Semirings | | | | |
3/21 | | Incremental maintenance | Lecture 18: Rolling with the Changes, (Abelian) group-wise (DBSP) | DBSP: Automatic Incremental View Maintenance... | | | | |
3/26/24 | Spring Break | R & R | No class | XXX | | | | |
3/28/24 | | R & R | No class | XXX | | | | |
4/2/24 | Main Memory DBMS | In-memory Analytic Query Processing | Lecture 19: The European Resurgence in MM-DBMSs | MonetDB/X100: Hyper-Pipelining Query Execution | Efficiently Compiling Efficient Query Plans for Modern Hardware | Everything You Always Wanted to Know About Compiled and Vectorized Queries But Were Afraid to Ask | Andy Pavlo' s DB engines course at CMU | Incremental Fusion: Unifying Compiled and Vectorized Query Execution |
4/4/24 | | In-Memory Transaction Processing | Lecture 20: Coordinate Infrequently for in-Memory OLTP | Speedy Transactions in Multicore In-Memory Databases | | | | |
4/9/24 | Project Prep | | No class | | | | | |
4/11/24 | Guest: Eugene Wu | Provenance for Real | | Smoke: Fine-grained Lineage at Interactive Speed | Provenance for Interactive Visualizations | Calibration: A Simple Trick for Wide-table Delta Analytics | | |
4/16/24 | Cloud DBMS | OLAP | Lecture 22: What's so funny bout peace, love and query processing in the cloud? | POLARIS: The Distributed SQL Engine in Azure Synapse | Dremel: A Decade of Interactive SQL Analysis at Web Scale | Amazon Redshift Re-invented | | |
4/18/24 | | OLTP | Lecture 23: Transactions in the Cloud are Hard. Maybe single-master and ship the log. | Amazon Aurora: Design Considerations for High Throughput Cloud-Native Relational Databases | PolarDB-SCC: A Cloud-Native Database Ensuring Low Latency for Strongly Consistent Reads | | Ocean Vista: Gossip-Based Visibility Control for Speedy Geo-Distributed Transactions | |
4/23/24 | Guest: Aditya Parameswaran | Interactive Data, Ordered and Unordered | Lecture 24: Aditya Parameswaran on Spreadsheets and Dataframes | Towards a Holistic Integration of Spreadsheets with Databases: A Scalable Storage Engine for Presentational Data Management | Towards Scalable Dataframe Systems | Flexible Rule-Based Decomposition and Metadata Independence in Modin: A Parallel Dataframe System | Benchmarking Spreadsheet Systems | |
4/25/24 | Final Lecture | Predictive Interaction and other AI/DB/HCI Futures | Lecture 25: An AI/DB/HCI Petri Dish and the things that are growing | Predictive Interaction for Data transformation | Interactive Visual Specification of Data Transformation Scripts | Self-Service Data Preparation: Research to Practice | | |