CS839 Design the Next-Generation Database

Lectures: Tue/Thu 1:00pm - 2:15pm @ 301 Educational Sciences
Instructor: Xiangyao Yu
Office Hours: Tue 2:30pm - 3:30pm @ CS 4385
Class Mailing List: compsci839-5-s20@lists.wisc.edu

Course description

Database systems are undergoing major changes due to new hardware, system architecture, and applications. It is an exciting time to revisit traditional wisdoms of database design with new system-level challenges and opportunities. In this seminar class, we will cover recent developments of databases through a mix of lectures and paper discussions. We will cover both hardware and software aspects. Topics include:

Lecture Format: Each lecture focuses on one state-of-the-art research paper. Students will read the paper and submit a review to https://wisc-cs839-ngdb20.hotcrp.com before the lecture starts. You are allowed to skip 3 reviews in total. In each lecture, the instructor presents the paper, followed by students discussing the paper in groups and sharing the conclusions with the entire class. Each group submits a discussion summary (in any format) to HotCRP before 11:59pm the day after the lecture.

Course projects: The course features an open-ended, research-oriented project. Students work in groups of size 2-4. It is encouraged to pick topics related to your existing research. A list of potential projects will also be provided. The project includes a proposal, a final report, and an in-class presentation. It is encouraged to continue working on a successful project afterwards and submit a research paper to a top-tier database conference (e.g., SIGMOD or VLDB). This is a great opportunity to explore PhD research topics in both database systems and computer architecture.

Project deadlines:

Computation resources:


The class is mostly self-contained. Background knowledge in databases (CS 564) and computer architecture (CS/ECE 552) is desired. Advanced knowledge in databases (CS 764) and computer architecture (CS 752/757) is not required.



Lecture Date Topic Reading Slides
1 Tue 1/21 Introduction None L1
2 Thu 1/23 Transaction basics [optional] What's Really New with NewSQL?
3 Tue 1/28 Analytics basics [optional] C-Store: A Column-oriented DBMS L3
Massive parallelism
4 Thu 1/30 Multicore 1 Staring into the Abyss: An Evaluation of Concurrency Control with One Thousand Cores
[optional] Concurrency Control Performance Modeling: Alternatives and Implications
[optional] OLTP Through the Looking Glass, and What We Found There
5 Tue 2/4 Multicore 2 Speedy Transactions in Multicore In-Memory Databases
[optional] TicToc: Time Traveling Optimistic Concurrency Control
[optional] Hekaton: SQL Server's Memory-Optimized OLTP Engine
6 Thu 2/6 Deterministic database Calvin: Fast Distributed Transactions for Partitioned Database Systems
[optional] Rethinking serializable multiversion concurrency control (Extended Version)
[optional] An Evaluation of Distributed Concurrency Control
7 Tue 2/11 GPU database A Study of the Fundamental Performance Characteristics of GPUs and CPUs for Database Analytics
[optional] An Overview of MapD (Massively Parallel Database)
8 Thu 2/13 Accelerator Q100: The Architecture and Design of a Database Processing Unit
[optional] A Many-core Architecture for In-Memory Data Processing
9 Tue 2/18 Guest lecture [recommended] New algorithms for join and grouping operations
[optional] Implementing Sorting in Database Systems
[optional] Modern B-tree techniques
Emerging memory/storage
10 Thu 2/20 NVM 1 TBD
11 Tue 2/25 NVM 2 TBD
12 Thu 2/27 HBM TBD
13 Tue 3/3 Smart SSD TBD
14 Thu 3/5 PIM TBD
New network technology
15 Tue 3/10 RDMA for DB TBD
16 Thu 3/12 FaRM TBD
17 Tue 3/24 High availability TBD
18 Thu 3/26 Guest lecture TBD
19 Tue 3/31 RDMA for OLAP TBD
Cloud architecture
20 Thu 4/2 OLTP in cloud TBD
21 Tue 4/7 Cloud data warehousing TBD
22 Thu 4/9 Snowflake TBD
23 Tue 4/14 Lambda TBD
Emerging applications
24 Thu 4/16 Graph DB TBD
25 Tue 4/21 IoT TBD
26 Thu 4/23 Time series TBD
Course project
27 Tue 4/28 Project presentation
28 Thu 4/30 Project presentation