Design and Implementation of Database Systems

Class Description

CMPS278 is an advanced course in the implementation of data management systems. The class is of interest to students who wish to do research in databases or learn more about large-scale data processing. Topics include indexing of complex data, techniques for processing large volumes of data, concurrency control, query optimization, database recovery, parallel and distributed data management systems, and approximate query answering. Additional topics may include self-managing database systems and query processing techniques for semi-structured data.

Enrolled students are expected to have a basic background in relational database systems. The official prerequisite is CMPS180, or CMPS277, or equivalent.  

The class has a final examination. Students will be required to complete a project assignment and several paper review assignments. Details for these are given below.

Textbook 

Most of the covered material comes from the papers compiled in the following book:

The papers can be also found online, so the textbook is not strictly required. Also, some material comes from papers that are not included in the book. Supplementary material can be found in the following "standard" textbooks:

Instructors and Assistants