Jan 14, 2019 |
Course Introduction and In-Memory Databases
- S. Harizopoulos, et al., OLTP Through the Looking Glass, and What We Found There, in SIGMOD, 2008
(Optional)
- H. Garcia-Molina, et al., Main Memory Database Systems: An Overview, in IEEE Trans. on Knowl. and Data Eng., 1992
(Optional)
- D.J. DeWitt, et al., Implementation Techniques for Main Memory Database Systems, in SIGMOD, 1984
(Optional)
|
|
|
|
Jan 16, 2019 |
Transaction Models & In-Memory Concurrency Control
- X. Yu, et al., Staring into the Abyss: An Evaluation of Concurrency Control with One Thousand Cores, in VLDB, 2014
- A. Adya, et al., Generalized Isolation Level Definitions, in ICDE, 2000
(Optional)
- H. Berenson, et al., A Critique of ANSI SQL Isolation Levels, in SIGMOD, 1995
(Optional)
|
|
|
|
Jan 21, 2019 |
Martin Luther King Day — No Class |
|
|
|
Jan 23, 2019 |
Multi-Version Concurrency Control (Design Decisions)
|
|
— |
|
Jan 28, 2019 |
Multi-Version Concurrency Control (Protocols)
- T. Neumann, et al., Fast Serializable Multi-Version Concurrency Control for Main-Memory Database Systems, in SIGMOD, 2015
- H. Lim, et al., Cicada: Dependably Fast Multi-Core In-Memory Transactions, in SIGMOD, 2017
(Optional)
- P.-A. Larson, et al., High-Performance Concurrency Control Mechanisms for Main-Memory Databases, in VLDB, 2011
(Optional)
|
|
— |
|
Jan 30, 2019 |
Multi-Version Concurrency Control (Garbage Collection)
|
|
— |
|
Feb 04, 2019 |
Index Locking & Latching
- G. Graefe, A Survey of B-Tree Locking Techniques, in TODS, 2010
- J. Faleiro, et al., Latch-free Synchronization in Database Systems: Silver Bullet or Fool's Gold?, in CIDR, 2017
(Optional)
- S.K. Cha, et al., Cache-Conscious Concurrency Control of Main-Memory Indexes on Shared-Memory Multiprocessor Systems, in VLDB, 2001
(Optional)
|
|
— |
|
Feb 06, 2019 |
OLTP Indexes (Latch-Free Data Structures)
- Z. Wang, et al., Building A Bw-Tree Takes More Than Just Buzz Words, in SIGMOD, 2018
- J. Levandoski, et al., The Bw-Tree: A B-tree for New Hardware, in ICDE, 2013
(Optional)
- W. Pugh, Concurrent Maintenance of Skip Lists, in University of Maryland Tech Report, 1990
(Optional)
- T. Kissinger, et al., KISS-Tree: smart latch-free in-memory indexing on modern architectures, in DaMoN, 2012
(Optional)
|
|
— |
|
Feb 11, 2019 |
OLTP Indexes (Trie Data Structures)
- V. Leis, et al., The ART of Practical Synchronization, in DaMoN, 2016
- V. Leis, et al., The Adaptive Radix Tree: ARTful Indexing for Main-Memory Databases, in ICDE, 2013
(Optional)
- R. Binna, et al., HOT: A Height Optimized Trie Index for Main-Memory Database Systems, in SIGMOD, 2018
(Optional)
- V. Alvarez, et al., A Comparison of Adaptive Radix Trees and Hash Tables, in ICDE, 2015
(Optional)
|
|
— |
|
Feb 13, 2019 |
Storage Models, Data Layout, & System Catalogs
- D. Abadi, et al., Column-Stores vs. Row-Stores: How Different Are They Really?, in SIGMOD, 2008
- J. Arulraj, et al., Bridging the Archipelago Between Row-Stores and Column-Stores for Hybrid Workloads, in SIGMOD, 2016
(Optional)
- I. Alagiannis, et al., H2O: A Hands-free Adaptive Store, in SIGMOD, 2014
(Optional)
- M. Grund, et al., HYRISE: a main memory hybrid storage engine, in VLDB, 2010
(Optional)
|
|
— |
|
Feb 18, 2019 |
Database Compression
- I. Müller, et al., Adaptive String Dictionary Compression in In-Memory Column-Store Database Systems, in EDBT, 2014
- C. Binnig, et al., Dictionary-based Order-preserving String Compression for Main Memory Column Stores, in SIGMOD, 2009
(Optional)
- V. Raman, et al., How to Wring a Table Dry: Entropy Compression of Relations and Querying of Compressed Relations, in VLDB, 2006
(Optional)
- D. Abadi, et al., Integrating Compression and Execution in Column-Oriented Database Systems, in SIGMOD, 2006
(Optional)
- H. Zhang, et al., Reducing the Storage Overhead of Main-Memory OLTP Databases with Hybrid Indexes, in SIGMOD, 2016
(Optional)
|
|
— |
|
Feb 20, 2019 |
Larger-than-Memory Databases
- V. Leis, et al., LeanStore: In-Memory Data Management beyond Main Memory, in ICDE, 2018
- J. DeBrabant, et al., Anti-Caching: A New Approach to Database Management System Architecture, in VLDB, 2013
(Optional)
- R. Stoica, et al., Enabling Efficient OS Paging for Main-Memory OLTP Databases, in DaMoN, 2013
(Optional)
- G. Graefe, et al., In-Memory Performance for Big Data, in VLDB, 2014
(Optional)
- L. Ma, et al., Larger-than-memory Data Management on Modern Storage Hardware for In-memory OLTP Database Systems, in DaMoN, 2016
(Optional)
|
|
— |
|
Feb 25, 2019 |
Recovery Protocols
- W. Zheng, et al., Fast Databases with Fast Durability and Recovery Through Multicore Parallelism, in OSDI, 2014
- A. Goel, et al., Fast Database Restarts at Facebook, in SIGMOD, 2014
(Optional)
- K. Ren, et al., Low-Overhead Asynchronous Checkpointing in Main-Memory Database Systems, in SIGMOD, 2016
(Optional)
- N. Malviya, et al., Rethinking Main Memory OLTP Recovery, in ICDE, 2014
(Optional)
- J. Lee, et al., Differential Logging: A Commutative and Associative Logging Scheme for Highly Parallel Main Memory Database, in ICDE, 2001
(Optional)
|
|
— |
|
Feb 27, 2019 |
Networking
- M. Raasveldt, et al., Don't Hold My Data Hostage: A Case for Client Protocol Redesign, in VLDB, 2017
- F. Li, et al., Accelerating Relational Databases by Leveraging Remote Memory and RDMA, in SIGMOD, 2016
(Optional)
- F. Binnig, et al., The End of Slow Networks: It's Time for a Redesign, in VLDB, 2016
(Optional)
|
|
— |
|
Mar 04, 2019 |
Scheduling
- V. Leis, et al., Morsel-Driven Parallelism: A NUMA-Aware Query Evaluation Framework for the Many-Core Age, in SIGMOD, 2014
- I. Psaroudakis, et al., Scaling Up Concurrent Main-Memory Column-Store Scans: Towards Adaptive NUMA-aware Data and Task Placement, in VLDB, 2015
(Optional)
- I. Psaroudakis, et al., Task Scheduling for Highly Concurrent Analytical and Transactional Main-Memory Workloads, in ADMS, 2013
(Optional)
- D. Porobic, et al., OLTP on Hardware Islands, in VLDB, 2012
(Optional)
|
|
— |
|
Mar 06, 2019 |
Mid-term Exam |
— |
— |
— |
Mar 11, 2019 |
Spring Break — No Class |
|
|
|
Mar 13, 2019 |
Spring Break — No Class |
|
|
|
Mar 18, 2019 |
Student Project Proposals |
— |
— |
— |
Mar 20, 2019 |
Query Execution & Processing
|
|
— |
|
Mar 25, 2019 |
Server-side Logic Execution
|
|
— |
|
Mar 27, 2019 |
Parallel Join Algorithms (Hashing)
- S. Schuh, et al., An Experimental Comparison of Thirteen Relational Equi-Joins in Main Memory, in SIGMOD, 2016
- S. Richter, et al., A Seven-Dimensional Analysis of Hashing Methods and its Implications on Query Processing, in VLDB, 2015
(Optional)
- S. Blanas, et al., Design and Evaluation of Main Memory Hash Join Algorithms for Multi-core CPUs, in SIGMOD, 2011
(Optional)
- C. Balkesen, et al., Main-Memory Hash Joins on Multi-Core CPUs: Tuning to the Underlying Hardware, in ICDE, 2013
(Optional)
|
|
— |
|
Apr 01, 2019 |
Parallel Join Algorithms (Sorting)
- C. Balkesen, et al., Multi-Core, Main-Memory Joins: Sort vs. Hash Revisited, in VLDB, 2013
- C. Kim, et al., Sort vs. Hash Revisited: Fast Join Implementation on Modern Multi-Core CPUs, in VLDB, 2009
(Optional)
- G. Graefe, et al., Sort vs. Hash Revisited, in TKDE, 1994
(Optional)
- M.-C. Albutiu, et al., Massively Parallel Sort-Merge Joins in Main Memory Multi-Core Database Systems, in VLDB, 2012
(Optional)
|
|
— |
|
Apr 03, 2019 |
Query Compilation
- T. Neumann, Efficiently Compiling Efficient Query Plans for Modern Hardware, in VLDB, 2011
- K. Krikellas, et al., Generating Code for Holistic Query Evaluation, in ICDE, 2010
(Optional)
- H. Pirk, et al., CPU and Cache Efficient Management of Memory-Resident Databases, in ICDE, 2013
(Optional)
- B. Raducanu, et al., Micro Adaptivity in Vectorwise, in SIGMOD, 2013
(Optional)
- A. Shaikhha, et al., How to Architect a Query Compiler, in SIGMOD, 2016
(Optional)
- A. Kohn, et al., Adaptive Execution of Compiled Queries, in ICDE, 2018
(Optional)
|
|
— |
|
Apr 08, 2019 |
Student Project Updates |
— |
— |
— |
Apr 10, 2019 |
Vectorized Execution
- O. Polychroniou, et al., Rethinking SIMD Vectorization for In-Memory Databases, in SIGMOD, 2015
- T. Thomas Willhalm, et al., SIMD-scan: Ultra Fast In-memory Table Scan using On-chip Vector Processing Units, in VLDB, 2009
(Optional)
- Y. Li, et al., BitWeaving: Fast Scans for Main Memory Data Processing, in SIGMOD, 2013
(Optional)
- Z. Feng, et al., ByteSlice: Pushing the Envelop of Main Memory Data Processing with a New Storage Layout, in SIGMOD, 2015
(Optional)
|
|
— |
|
Apr 15, 2019 |
Vectorization vs. Compilation
- T. Kersten, et al., Everything You Always Wanted to Know About Compiled and Vectorized Queries But Were Afraid to Ask, in VLDB, 2018
- P. Menon, et al., Relaxed Operator Fusion for In-Memory Databases: Making Compilation, Vectorization, and Prefetching Work Together At Last, in VLDB, 2017
(Optional)
- J. Sompolski, et al., Vectorization vs. Compilation in Query Execution, in DaMoN, 2011
(Optional)
- H. Lang, et al., Data Blocks: Hybrid OLTP and OLAP on Compressed Storage using both Vectorization and Compilation, in SIGMOD, 2016
(Optional)
|
|
— |
|
Apr 17, 2019 |
Optimizer Implementation (Part I)
- Yongwen Xu, Efficiency in the Columbia Database Query Optimizer (pages 1-35), in Portland State University, 1998
- S. Chaudhuri, An Overview of Query Optimization in Relational Systems, in PODS, 1998
(Optional)
- G. Graefe, et al., The Volcano Optimizer Generator: Extensibility and Efficient Search, in ICDE, 1993
(Optional)
- G. Graefe, The Cascades Framework for Query Optimization, in IEEE Data Engineering Bulletin, 1995
(Optional)
- M.A. Soliman, et al., Orca: A Modular Query Optimizer Architecture for Big Data, in SIGMOD, 2014
(Optional)
- L.D. Shapiro, et al., Exploiting Upper and Lower Bounds In Top-Down Query Optimization, in IDEAS, 2001
(Optional)
|
|
— |
|
Apr 22, 2019 |
Optimizer Implementation (Part II)
- G. Moerkotte, et al., Dynamic Programming Strikes Back, in SIGMOD, 2008
- J. Chen, et al., The MemSQL Query Optimizer, in VLDB, 2017
(Optional)
- T. Neumann, et al., The Complete Story of Joins (in HyPer), in BTW, 2017
(Optional)
- J. Hellerstein, et al., Predicate Migration: Optimizing Queries with Expensive Predicates, in SIGMOD, 1993
(Optional)
- E. Begoli, et al., Apache Calcite: A Foundational Framework for Optimized Query Processing Over Heterogeneous Data Sources, in SIGMOD, 2018
(Optional)
|
|
— |
|
Apr 24, 2019 |
Cost Models
- V. Leis, et al., How Good are Query Optimizers, Really?, in VLDB, 2015
- M. Stillger, et al., LEO - DB2's LEarning Optimizer, in VLDB, 2001
(Optional)
- D. Vengerov, et al., Join Size Estimation Subject to Filter Conditions, in VLDB, 2015
(Optional)
- Y. Chen, et al., Two-Level Sampling for Join Size Estimation, in SIGMOD, 2017
(Optional)
|
|
— |
|
Apr 29, 2019 |
Self-Driving Databases
- A. Pavlo et al., Self-Driving Database Engineering, in Unpublished Manuscript, 2019
(Only Available to CMU)
- A. Pavlo et al., Self-Driving Database Management Systems, in CIDR, 2017
(Optional)
- L. Ma et al., Query-based Workload Forecasting for Self-Driving Database Management Systems, in SIGMOD, 2018
(Optional)
- S. Chaudhuri et al., Self-Tuning Database Systems: A Decade of Progress, in VLDB, 2007
(Optional)
|
|
— |
|
May 01, 2019 |
Guest Speaker: Dr. Anil Goel (VP & Chief Architect, SAP HANA) |
|
— |
|