332:569 DATABASE SYSTEM
ENGINEERING
Spring 2003 - 3 credits
Instructor: Yanyong Zhang
Core 518
445-0608 (office)
yyzhang@ece.rutgers.edu
http://www.ece.rutgers.edu
Description: 332:569 is intended to give students a
solid background in database management systems, particularly relational
database management systems. Such systems will be mostly examined from the
perspective of a database system implementor. Topics covered include data
models and relational database design; database integrity and concurrency
control; distributed database design and concurrency control; query
optimization. As part of the course students will implement a client/server
relational DBMS supporting queries and distributed transactions. The goal of
the project is to provide a concrete and well understood frame of reference to
aid in understanding and evaluating the material presented in class.
Text: J. Gray, et al., Transaction Processing: Concepts and Techniques, Morgan Kaufmann, San Francisco, CA, 1993. (Required)
Reference:
1. J. D. Ullman, Principles of Database and Knowledge-Base Systems, Volume 1, Computer Science Press, Rockville, MD, 1988.
2. P.A. Bernstein, V. Hadzilacos and N. Goodman, Concurrency Control and Recovery in Database Systems, Addison-Wesley, Reading, MA, 1987.
3. Raghu Ramakrishnan, Database Management Systems, McGraw-Hill, Boston, MA, 1998. ISBN 0-07-050775-9.
Prerequisite: 332:566 Parallel Computer Design; 332:567 Software Engineering I; 198:519 Operating System (suggested). If you have not taken these courses, you need to talk to the instructor before you register. Also, please note that this is not a course where you can learn programming, rather, the projects require a considerable amount of programming effort. As a result, if you are not familiar with C/C++ and Unix environment, this is not a very good place for you to practice.
Project: Projects will be carried out by groups of up to three students. The project will be divided into two parts. The first will involve query processing and the second will deal with transaction processing. I will score each project based on supplied documentation and a short demonstration. Students will also be allowed to evaluate their teammates. This evaluation will be used in determining individual project scores.
Due Dates: No late assignments/project reports will be accepted.
Administrative:
• Homework Assignments (3 @ 5% each) 15%
• Project 45%
• Midterm 20%
• Final 20%
Topics Readings
1.
Introduction G1-2
2.
Relational
Data Model
4.
Expressing
Queries in RA
5.
File
and Buffer Management G13
6.
Tuple
representation and File Organization G14
7.
Introduction
to Indexing
Hashed Organization G15.3,G15.6.1
8.
B-Trees G15.4
9.
B-Trees G15.4
10. Query Processing Supplemental
11. Query Processing
12. Transaction Models G4.1-G4.5
13. Transaction Models G4.1-G4.5
14. Isolation – Dependency
Model G7.1-7.4
15. Isolation – Isolation
Theorems G7.5
16. Midterm Exam
17. Isolation – Degrees of
Isolation G7.6
18. Isolation – Degrees of
Isolation G7.6
19. The Phantom Problem and
Granular Locking G7.7-7.8
20. Deadlock G7.11
21. Workload and Performance
(TPC Benchmarks) Supplemental
22. Locking Performance
23. B-Tree Synchronization G15.4
24. B-Tree Synchronization G15.4
25. Recovery – Logging G9
26. Recovery – Transaction
Manager G10
27. Recovery – Checkpointing G11.1-11.4
28. B-Tree Recovery G15.4.5
29. Recovery – Advanced Transaction
Manager Topics G12
30. Review