CS 4420 Database Systems Implementation Syllabus, Spring, 2000

Prof: Edward Omiecinski
Office: COC 138
Office Hours: 12-1pm (MWF)
Email: edwardo@cc.gatech.edu

TA: Wai Gen Yee
Office: COC 104A
Office Hours: TBA
Email: waigen@cc.gatech.edu

TEXT

Database System Implementation
Garcia-Molina, Ullman & Widom, Prentice Hall, 2000
book's web page: http://www-db.stanford.edu/~ullman/dbsi.html

COURSE CONTENT

In this course we will study four major topics relating to database system implementation. The emphasis is on the ``systems'' components of a database management system. To better understand these components, a database implementation project will be required where you will build some of the basic ``system'' components for a simple database management system. We start with a brief review of relational database concepts and an overview of the basic components of a database system. The first major area of study deals with {\em storage management}. How data is stored (organized) on secondary storage plays an important role in processing database queries efficiently. We will examine the various file structure alternatives involving indexing and hashing. The second area deals with the query processing component of a relational database system. Here, we are interested in two topics: transformations which are applied to a user query to make it execute more efficiently and algorithms which implement various relational algebra operators efficiently. Both of these topics fall within the realm of the query optimizer. The third topic involves concurrency control. For instance, how can multiple transactions execute on a database and still see a consistent view of the data, as well as to leave the database in a consistent state. We examine several concurrency control schemes and their tradeoffs. The fourth area deals with the recovery manager of a database system. The main concern is how the database system recovers from a failure, e.g., a transaction failure, a system crash, etc. We examine the advantages and disadvantages of several recovery schemes. If time permits, we will discuss the various issues in database performance tuning and how parallel relational database systems can be used to improve the performance of query and transaction processing.
TopicChapter
Introduction to DBMS Implementation
Relational DB Review
1
Data Storage 2
Representing Data Elements 3
Index Structures 4
Query Execution 6
Query Compiler 7
Coping with System Failures 8
Concurrency Control 9
More about Transaction Management
Database Performance Tuning
Parallel Relational DBMS
10

GRADING

2 Exams - 15% each, Final - 20%, Project - 50%

The first exam will be held in class, on Wednesday February 16.
The second exam will be held in class, on Wednesday March 22.
The Final exam will be held during the scheduled final exam time period.

PROJECT

The database implementation project (written in C) will be submitted in two phases. The project can be done individually or in groups of up to 3 students but everyone should do their fair share of the work. To ensure this, when the project is turned in, a description of what was done by each member of the team must be included with the code/documentation. Each phase of the project should be submitted before midnight of the day it is due and each phase will be demonstrated to the TA by each team. The due dates for the project are March 1 for phase I and April 26 for phase II.

Project information and anything else relevant to the class will be posted on the class web page, www.cc.gatech.edu/classes/AY2000/cs4420_spring and or in the class newsgroup, git.cc.class.cs4420. You should check out the web page and read this newsgroup regularly to ensure that you do not miss important information about the course.


Wai Gen Yee
Last modified: Wed Jan 26 20:09:34 EST 2000