[ Home | Schedule | Labs | Policy ]
CSE 532 Database Systems (Fall 2025)
Announcements
(Aug 25, 2025) First day! Please join Piazza for class notifications and discussions.
IMPORTANT information for course selection
Although sharing the same class code, this course is not the same course of the past 532 Theory of Database. This is a more systems course on the database topic emphasizing on systems design and implementation. It has a very different focus and interest on the goals and requirements. Please be aware of this before you sign up the class.
Course information
Database systems are the foundation of modern data-driven applications, from cloud services to distributed platforms handling billions of users worldwide. This class teaches both fundamental concepts and cutting-edge techniques in modern database systems. We cover classical topics including transaction processing, concurrency control, SQL and indexing, alongside contemporary developments in cloud databases, distributed systems, and large-scale data processing platforms.
The course emphasizes real-world systems through influential research papers from companies like Google, Facebook/Meta, Amazon, and Snowflake. Students will study how theoretical concepts are implemented in production systems like Spanner, Aurora, TiDB, MongoDB, Spark and MapReduce.
The course consists of lectures covering both theory and practice, with readings from top-tier systems conferences (OSDI, SIGMOD, VLDB, NSDI). Labs provide hands-on experience implementing core database components.
Prerequisites:
- Data Structures and Algorithms
- Database
- System-level programming experience
Project and Grading
The grading for this course is divided into two main components: the lab assignments and the class project.
Lab assignments will account for 40% of your final grade. Each student is required to complete the lab work individually. Collaboration between students on lab assignments is not permitted, and the use of AI tools or assistance from others is strictly prohibited. The labs are designed to give you hands-on experience with implementing core database components and to reinforce the concepts covered in lectures.
The remaining 60% of your grade will be based on a class project. For this project, you will select a systems research paper and implement its ideas in Mako, an open-source database system derived from the lab codebase. You are encouraged to form groups of 3-5 students for the project. The evaluation of the project will be very subjective and will consider several factors, including the motivation behind your project, the completeness and soundness of your implementation, the results you obtain, and the quality of your final presentation. You are encouraged to use AI as much as possible for this project.
If you prefer not to implement an existing research work, you may propose your own original project idea. However, any such proposal must be approved by the instructor before you proceed.
The lab and the project must be finished in either C++ or Rust.
Note: all your code will be released under MIT license; feel free to use it for other purposes (e.g., write it in your resume, or use it to pursue an advanced project with any professor in the department).