198:437 Database Systems Implementation

Mondays -- Thursdays, 12:00-1:20pm, Hill 005

Instructor: Amélie Marian
Office hours: Thursdays 11am-12pm, CoRE 324

Recitations: Mondays, 1:35-2:30pm, Hill 005
TA: Minji Wu (minji-wu at cs)
Office Hours: Wednesdays, 1-3pm CoRE 342.


Announcements

1/17: Announcements now made via Sakai.


1/17: No recitation on Monday 1/23


Course Description

This course focuses on the implementation of data management systems. It builds upon knowledge gathered in 198:336 (or a similar Introduction to Databases course), and provides students the tools to understand the internals of a DBMS. In particular, we will cover transaction management, query processing and query optimization in details. We will also discuss the implementation of systems handling text data as well as data management issues in a web context.

Prerequisite: 198:336, or permission of the instructor. Knowledge of C++ or Java.


Grading

Grading will be based on 4-5 homework assignments, 2-3 programming assignments, a midterm and a final


Textbook

Raghu Ramakrishnan, Johannes Gehrke: Database Management Systems, 3rd edition, McGraw-Hill, 2002.
Plus additional readings from recent database research papers.


Schedule (tentative)

Date

Topics

Thu January 19
Mon January 23

Introduction.
Review: Relational Algebra, SQL.
(Readings: Chapters 4 and 5)

Thu January 26
Mon January 30

Data Storage. Buffer Management.
(Readings: Chapters 8 and 9)

Thu February 2
Mon February 6

Indexing, B+ trees, Hash tables.
(Readings: Chapters 10 and 11, excluding 11.3 and 11.4)

Thu February 9
Mon February 13

External Sorting. Query Processing.
(Readings: Chapters 13 and 14)

Thu February 16
Mon February 20
Thu February 23

Query Optimization
(Readings: Chapter 15)

Mon February 27
Thu March 1

Multidimensional Indexing
(Readings: Chapter 28)

Mon March 5

Midterm Review

Thu March 8

Midterm Exam (in class)

Mon March 12
Thu March 15

Spring Break

Mon March 19

Class canceled

Thu March 22

Database Tuning
(Readings: Chapter 20)

Mon March 26

Transaction Management. Concurrency Control.
(Readings: Chapter 16 and 17, excluding 16.6 and 17.6)

Thu March 29
Mon April 2

Crash Recovery.
(Readings: Chapter 18)

Thu April 5
Mon April 9
Thu April 12

MapReduce and Hadoop
(See readings on Sakai)

Mon April 16
Thu April 19

Top-k Query Processing
(Readings: papers on Sakai)

Thu April 19

Database Security
(Readings: Chapter 21, except 21.5)

Mon April 23

Materialized Views
(Readings: Chapter 25.9 and 25.10)

Thu April 26

Exam Review

Mon April 30

Final Exam (12 - 2pm)