Th 1/3 |
Course Objective I |
Course Introduction and History of Database Systems |
Jiannan [slides] |
Tu 1/8 |
Course Objective II |
Essential Skills Needed for a PhD Student (How to read & review a paper? How to give a talk? How to ask questions?) |
Jiannan [slides] |
Part I: Traditional Database Systems and Techniques (before 2000) |
Th 1/17 |
Background |
1. Database Systems: Achievements and Opportunities (1990) |
Lakshayy [slides] |
2. The Asilomar Report on Database Research (1998) |
Inder[slides] |
Tu 1/22 |
Data Model |
3. A Relational Model of Data for Large Shared Data Banks (1970) 4. What Goes Around Comes Around (1960-1970, Sec I~IV only) |
Arshvir Mehvish [slides] |
Th 1/24 |
Traditional DBMS |
5. A History and Evaluation of System R (1981) 6. The Design of Postgres (1986) |
Ankita [slides]
Ruijia [slides] |
Tu 1/29 |
7. An Overview of Data Warehousing and OLAP Technology (1997) |
Prabhjot [slides] |
Th 1/31 |
Query Optimization |
8. Access Path Selection in a Relational Database Management System (1979) 9. The Volcano Optimizer Generator: Extensibility and Efficient Search (1993) |
Jill [slides] Ravi[slides] |
Tu 2/5 |
10. Eddies: Continuously Adaptive Query Processing (2000) |
Ohoud [slides] |
Th 2/7 |
Transaction Management |
11. Granularity of Locks and Degrees of Consistency in a Shared Data Base (1976, Part 1 only) 12. Granularity of Locks and Degrees of Consistency in a Shared Data Base (1976, Part 2 only) |
Muhammad [slides] Kyle [slides] |
Tu 2/12 |
13. On Optimistic Methods for Concurrency Control (1981) |
kiarash |
Th 2/14 |
Interactive Analytics |
14. Data Cube: A Relational Aggregation Operator Generalizing Group-by, Cross-tab, and Sub-totals (1997) 15. An Array-Based Algorithm for Simultaneous Multidimensional Aggregates (1997) |
Xiaoying Wang [slides] Pushkar |
Part II: Modern Database Systems and Techniques (After 2000) |
Tu 2/26 |
Background |
16. Challenges and Opportunities with Big Data (2011) |
Jetic [slides] |
Column Store |
17. C-store: a column-oriented DBMS (2005) |
Ruijia [slides] |
Th 2/28 |
18. Dremel: Interactive Analysis Of Web-Scale Datasets (2010) 19. Column-Stores vs. Row-Stores: How Different Are They Really? (2012) |
Mohan [slides] Mehvish[slides] |
Tu 3/5 |
MapReduce and Beyond |
Why Mapreduce & Why Spark |
Jiannan |
Th 3/7 |
20. MapReduce: Simplified Data Processing on Large Clusters (2003) 21. A Comparison of Approaches to Large-Scale Data Analysis (2009) Parallel Database |
Xiaoying [slides] Inder[slides] |
Tu 3/12 |
22. Resilient Distributed Datasets: A Fault-tolerant Abstraction for In-memory Cluster Computing (2012) 23. Spark SQL: Relational Data Processing in Spark (2015) |
Ravi[slides] Pushkar |
Th 3/14 |
NoSQL |
OldSQL vs. NoSQL vs NewSQL 24. Bigtable: A Distributed Storage System for Structured Data (2006) |
Jiannan Ankita [slides] |
Tu 3/19 |
25. Dynamo: Amazon's Highly Available Key-Value Store (2007) 26. CAP Twelve Years Later: How the "Rules" Have Changed (2012) |
Jill [slides] Ohoud [slides] |
Th 3/21 |
NewSQL |
27. OLTP Through the Looking Glass, and What We Found There (2008) 28. Hekaton: SQL Server's Memory-optimized OLTP Engine (2013) |
Lakshayy [slides] Arshvir |
Tu 3/26 |
29. Efficiently Compiling Efficient Query Plans for Modern Hardware (2011) 30. Scalable SQL and NoSQL data stores (2010) |
Kyle MoHan [slides] |
Th 3/28 |
ML and SQL |
31. Accelerating Machine Learning Inference with Probabilistic Predicates (2018) 32. NoScope: Optimizing Deep CNN-Based Queries over Video Streams at Scale (2017 |
Jetic [slides] Prabhjot [slides] |
Tu 4/2 |
33. Learning to Optimize Join Queries With Deep Reinforcement Learning (2018) 34. The Case for Learned Index Structures (2018) |
Muhammad [slides] Ruijia [slides] |
Final Project |
W 4/10 |
Final Project |
Final Project Poster Session |
Groups |