6.830: Database Systems (Fall 2008)

Units: 3-0-9 (H)
When: TR 12:30-2:00
Where: 32-155
Instructors: Samuel Madden (madden AT csail.mit.edu)
Michael Stonebraker (stonebraker AT nms.csail.mit.edu)
Instructor office hours: by appointment
TAs: Evan Jones (evanj AT mit.edu)
Adam Marcus (marcua AT csail.mit.edu)
TA office hours when: Mondays: 5-6pm, Tuesdays: 10-11am
TA office hours where: 32-G9 Lounge (right out of the elevators)

6.830 Announcements

6.830 Announcements

(RSS Feed)
11/18/08: Problem Set 4 Posted

Problem Set 4 is now available. It is due Tuesday, November 25th.


10/28/08: Quiz 1 Solutions Posted

Quiz 1 solutions are now online. The graded quizes will be returned in class today.


10/22/08: PS3 Solutions Posted

Problem set 3 solutions are available.


10/21/08: 2007 Quiz 1 Posted

Quiz 1 from 2007 is posted. Solutions are included. You may find this a useful study aid for Thursday's Quiz 1.


10/16/08: PS2 Solutions Posted

Problem set 2 solutions are available. Graded assignments will be available in class Tuesday.


10/14/08: Problem Set 3 Posted

Problem Set 3 is now available. Solutions will be posted by the beginning of next week.


10/09/08: Problem Set 3 is "Optional"

Problem Set 3 will be released shortly. We will not be collecting it for a grade, but you will want to look it over (as well as the solutions) to help you prepare for Exam 1 on October 23.


10/03/08: BufferPool/ScanTest issues in Lab 2

Because of the way we have implemented ScanTest.cacheTest, you will need to ensure that your flushPage and flushAllPages methods (in BufferPool) do no evict pages from the buffer pool to properly pass this test. flushAllPages should call flushPage on all pages in the BufferPool, and flushPage should write any dirty page to disk and mark it as not dirty, while leaving it in the BufferPool. The only method which should remove page from the buffer pool is evictPage, which should call flushPage on any dirty page it evicts. flushAllPages need not be implemented for lab2 - it is used in lab 3 only.


10/02/08: Lab 3 Posted

Lab 3 has been posted. It is due Thursday, October 16th.


10/02/08: Lab 2 Correction: FilterTest

The version of the FilterTest unit test distributed with Lab 2 fails to call the open and close methods correctly on the Filter operator. Please replace your version of the test in test/simpledb/FilterTest.java with the corrected version.


09/30/08: Lab 2 Correction: EvictionTest

There is a test that was incorrectly included in the Lab 2 tests: simpledb.systemtest.EvictionTest.testAllDirtyFails. This test depends on features you do not need to implement until Lab 3. The simplest thing to do is to comment out this test from your code:

  1. Open the file test/simpledb/systemtest/EvictionTest.java
  2. Comment out the testAllDirtyFails method.

You will need to make this test pass for Lab 3, so if you want to implement it, it won't be a waste of time. To get it to pass, you need to not evict pages that are marked dirty. The documentation about this, and about dirty pages, will be released with Lab 3 on Thursday.


09/30/08: Lab 1 Grades

Lab 1 grades have been emailed out. If you haven't received yours, email Evan.


09/29/08: PS1 Solutions Posted

Problem set 1 solutions are available. Graded assignments will be available in class tomorrow.


09/25/08: Final Project Group Meetings

Every group needs to meet with Professor Madden, either next Friday Oct 3 between 3 and 6, or next Tuesday Oct 7 between 4 and 7. If you didn't sign up in class today, please sign up on the sign up sheet posted outside Professor Madden's office (32G-938). The final project proposal is due Thursday Oct 9.


09/25/08: Lab 2 Posted

Lab 2 is now posted. It is due October 7th, 2008.


09/22/08: Project Suggestions Posted Posted

A description of the final project and some suggested projects are posted.


09/18/08: PS2 Posted

Problem Set 2 is posted. It is due Thursday, October 2.


09/18/08: Lab 1 Tests Updated

A small error was found in the lab 1 tests. If you have already downloaded the code, you will need to download it again and replace the following two files with the latest version:

On Unix, the following commands will do this, if you are in the 6.830-lab1 directory:

curl http://db.csail.mit.edu/6.830/6.830-lab1.tar.gz | tar xzf -
mv 6.830-lab1/test/simpledb/systemtest/ScanTest.java \
    6.830-lab1/test/simpledb/systemtest/SystemTestUtil.java test/simpledb/systemtest
rm -r 6.830-lab1
      


09/18/08: Lab 1 Due 11:59 PM on the 25th.

Contrary to what was stated in the original version of the Lab 1 document, Lab 1 is actually due at 11:59 PM on the 25th (rather than before class on the 25th). The Lab 1 document has been updated.


09/16/08: Lab 1 Released

Lab 1 is now available. It is due Thursday, September 25th.


09/16/08: Review Session for Lab 1

Evan and Adam will hold a review session this Thursday (9/18) at 8 pm in the Star Conference Room (D463) in Stata's Dreyfus tower. They will describe lab 1 in more detail, and assist with lab 1 setup.


09/16/08: Electronic submission of problem sets

To submit problem sets electronically, email a PDF to 6830-submit@nms.csail.mit.edu.


09/11/08: Database Management Systems on course reserve in Hayden Library

Contrary to what was said in class today, the library has decided to keep the book "Database Management Systems" on reserve in Hayden Library. Our apologies for the confusion.


09/06/08: PS1 Posted

Problem Set 1 is posted. It is due Tuesday, September 16th.


09/06/08: Readings for next week posted

The readings for next week have been posted. Use the links for Sept 9 and Sept 11 on the schedule page to access them. Thursday's lecture includes several chapters from the "Database Management Systems" textbook by Ramakrishnan and Gehrke; it is available from the MIT Coop in the textbooks section, or online from various websites.

In the future, we will post the readings for the week on the Thursday or Friday of the week before. We won't post announcements every time a reading is posted, so you should be sure to keep an eye on the schedule page.


09/04/08: Course discussion board

There is a course discussion board available on Google Groups. You will receive an invitation to join the group after providing us with your email address on the first day of class.


09/02/08: First Class This Thursday

The first day of class is this Thursday, September 4th.


08/06/08: Website Created

Initial version of the course website is available.


Description

This course relies on primary readings from the database community to introduce graduate students to the foundations of database systems, focusing on basics such as the relational algebra and data model, schema normalization, query optimization, and transactions. It is designed for students who have taken 6.033 (or equivalent); no prior database experience is assumed though students who have taken an undergraduate course in databases are encouraged to attend.

Classes consist of lectures and discussions based on readings from the database literature. Grades are assigned based on a semester long project, as well as two exams and 6 assignments -- 3 labs and 3 problem sets -- of varying length. For more information about the readings and assignments, use the links at the top of the page.

Last change: 8/6/2008.