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.
| Topic | Chapter |
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