CPSC 637: Database System Architectures (Spring 2008)

When: Tu/Th 1:00-2:15
Where: AKW 500
Instructor: Daniel Abadi
Instructor office hours: By appointment

Description

This course is a survey of database system architectures and designs. We will start with the classic architecture from which Oracle, IBM DB2, and Microsoft SQL Server all descended. We will then look at some more recent architectures (parallel databases, main memory databases, data warehouses, streaming databases, web databases). Class will be 'seminar style' with course reading from research papers (not a text book). Paper presentations will be done by a mixture of the course instructor and course participants.

Prerequisites

The following courses are recommended, but not strictly required:

Class Structure

In this course, we will focus on one published research paper per class. In each class, this paper will be presented either by the course instructor or by a course participant. Each student is expected to have read each paper before it is presented in class. The papers we will be reading all focus on database system architectures, designs, or implementations. We will start with traditional, seminal papers, and then look at exciting new architectures as the course progresses.

Grading

Grades will be assigned based on three primary course requirements. First, you are expected to come to class prepared, having read the paper being presented in advance. Second, you are expected to present a paper yourself. Third, you are expected to complete a semester-long course project. Grades will assigned as follows:

Class preparation

A class like this does not work unless most people have read each paper that we will discuss in advance. Thus, 25% of your grade will be based on class preparation. In order to assess class preparation, you will be expected to submit a half-page paper review at the beginning of each class. This review should contain two sections. First, you should describe the main ideas in the paper. This should not be a simple rehash of the abstract/introduction -- it should demonstrate that you have read the entire paper. Second, you should discuss any weaknesses that you found in the paper, or questions that you feel are unanswered. Although it will be useful to hear about what sections you may have had trouble understanding, you will get more points for deeper questions that show you have really thought about what was presented in the paper.

Since there often will be situations that come up during the semester where you will either miss class, show up late for class, or will otherwise be unable to prepare to the appropriate degree, you may opt-out of 4 reviews of your choice.

Readings

Since classes will be based on research papers, there is no textbook you need to buy for this course. All papers will be linked to from the course schedule; however, in many cases you will need to access from a Yale IP address for free access to the paper.

In addition, about 33% of the papers we will be reading can be found in the 4th Edition of ``Readings in Database Systems'', edited by Stonebraker and Hellerstein. I recommend it as a good book to own if you want to do database system research or are interested in seminal database research papers.

Course Schedule and Readings