Advanced Database Systems

Course ID 15721

Description This course is a comprehensive study of the internals of modern database management systems. It will cover the core concepts and fundamentals of the components that are used in large-scale analytical systems (OLAP). The class will stress both efficiency and correctness of the implementation of these ideas.

Key Topics
Modern Database System Architectures
Query Optimization
Concurrency Control
Query Execution
Indexing
Logging & Recovery
Distributed Database Systems
Implementation Issues

Learning Resources
There will be no textbook. The course will cover papers on the latest in database systems research.

Course Relevance
The course is appropriate for graduate students in software systems and for advanced undergraduates with systems programming skills.

Course Goals
Apply and customize state-of-the-art implementation techniques for single-node database management systems following modern coding practices.
Identify trade-offs among database systems techniques and contrast alternatives for both on-line transaction processing and on-line analytical workloads.
Develop and justify design decisions in the context of a high-performance database system.
Implement and evaluate complex, scalable database systems, with emphasis on providing experimental evidence for design decisions.
Interpret and comparatively criticize state-of-the-art research talks and papers, with emphasis on constructive improvements.

Pre-required Knowledge
The prerequisites are (1) 15-445/645 or an equivalent undergraduate class in databases and (2) 15-410 or an equivalent undergraduate class in operating systems. Students that are unable to meet these requirements must otherwise receive permission from the instructor.

Assessment Structure
Grading will be based on paper reviews, participation, exams, and programming projects.

Course Link
https://15721.courses.cs.cmu.edu