CS 4420/8803DSI Database Systems
Implementation
Spring 2009
Professor:
Edward Omiecinski (edwardo@cc.gatech.edu)
Office: ES & T room L1118
Lectures: T Th
Office Hours: MWF
TA:
Minh Quoc
Nguyen (quocminh@cc.gatech.edu)
Office: KACB 3319
Office Hours: Friday
Text:
Database Design and Implementation
Edward Sciore
John Wiley and Sons, 2009
ISBN: 978-0-471-75716-0
Database System:
SimpleDB can be downloaded from the URL www.wiley.com/college/sciore. Go to the Student Companion Site as indicated on the web page.
Details on installing and using SimpleDB are in its distribution file and in Chapter 7.
ANNOUNCEMENTS:
4/21 Graduate Student Presentations
      Paper 34/17 The Final Exam is scheduled during exam week on Friday, May 1 at 11:30AM and will last 90 minutes. It will cover chapters 22, 23 and 24 from the text. The exam will be multiple choice and will be open book and open notes.
4/15 Assignment 3 Demo: You should install a hex editor into your computer prior to the demo for verifying the output.
4/11 ProgrammingAssignment 3: Updated Test Code
4/07 ProgrammingAssignment 3: Test Code
4/03 Papers for graduate student presentations You will give your presentation in class on April 21 or 23.
4/01 ProgrammingAssignment 3 You will demo your program in class on Thursday, April 16.
3/09 Sample Exam 2
3/06 When you demo assignment 2, you will need to submit a hardcopy of the SimpleDB methods you changed, a printout of your output and the waits-for graph for each test case. Sign up here to Demo Assignment 2 on Tuesday, March 10 during class
3/05 Exam 2 will be given on Thursday, March 12. It will cover chapters 17, 19 and 21 from the text. The exam will be open book and open notes.
2/24 Programming Assignment 2 You will demo your program in class on Tuesday, March 10.
2/10 Due Date for assignment 1 has been moved back to Tuesday, February 17. You will need to submit a hardcopy of the SimpleDB methods you changed when you demo your assignment. Sign up here to Demo Assignment 1 on Tuesday, February 17 during class
2/08 Second UPDATED Zip file for Programming Assignment 1
2/06 UPDATED Zip file for Programming Assignment 1
2/03 Zip file for Programming Assignment 1
2/02 Sample Exam 1
1/28 Programming Assignment 1 ---- Due date: February 12
Requirements: The SimpleDB recovery manager only supports the UNDO recovery scheme. You will modify it to support the UNDO-REDO scheme which will undo a transaction if no commit log record is found for the transaction else redo the transaction.
Testing: Test code will be posted on the class website. Students will run the test code to verify that their modifications run correctly.
Grading: Students will sign up to demo their program with the TA. Each demo will take 5 minutes. The TA will ask each student to run the test code to verify if the assignment is working correctly. A grade will only be given if the demo is successful. Otherwise, the student has the option to demo their program again in the following week. Students will have three chances to demo their program. Each time the highest grade is reduced one letter grade. Should the student fail the third time, a grade of D will be given for the homework.
1/27 Exam 1 will be given on Thursday, February 5. It will cover chapters 13 and 14 from the text. The exam will be closed book.
1/12 Classroom has been changed to the Environmental Science and Technology building (ES & T) room L1118.
1/12 A note taker is needed for this class http://www.cc.gatech.edu/classes/AY2009/cs4420_spring/NoteTakerAnnouncement.htm
1/5 - Check this section of the webpage often for updates and information.
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 modify
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 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. As time permits, we will also
talk about the system components of distributed and parallel databases systems.
Topic Chapter
Disk and File Management 12
Memory Management 13
Transaction Management 14
Record Management 15
Metadata Management 16
Query Processing 17
Planning 19
Indexing 21
Materialization and Sorting 22
Effective Buffer Utilization 23
Query Optimization 24
Distributed & Parallel DB Systems
GRADING
Exams (2) 40 points
Final 20 points
Programming Assignments (3) 40 points
Group Presentation (Grad Students Only) 20 points