CS 4420/8803DSI Database Systems Implementation

Spring 2009

 

 

 

Professor:

Edward Omiecinski (edwardo@cc.gatech.edu)

Office: ES & T   room   L1118

Lectures: T Th 3:05 – 4:25pm   CoC 16

Office Hours: MWF 1 – 2pm.

 

TA:

Minh Quoc Nguyen (quocminh@cc.gatech.edu)

Office:  KACB 3319

Office Hours:  Friday 10-12AM

 

 

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 3
      Paper 9
      Paper 10
      Paper 18
      Paper 19
      Paper 15
      Paper 17
      Paper 8

 

4/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