Distributed Database (DDB)
| Academic Year: | 2008/09, 2nd Semester |
| Lecturer: | Johann Gamper |
| Teaching assistant: | Christian Mair |
| Lectures: | TH 10:30-12:30, Room E412 |
| Labs: | TH 15:00-16:00, Room E412 |
| Office hours: | Gamper: TH 09:00-10:00 or email arrangement Mair: TBA |
Objectives: This course will introduce principles and foundations of distributed databases, including architecture, design issues, integrity control, query processing and optimization, transactions, and concurrency control.
Prerequisites: Students should be familiar with basic concepts in databases (including relational databases, SQL, and relational algebra) and algorithms, as well as having good pogramming skills. This material is taught in the courses Introduction to Databases, Introduction to Programming, and Data Structures and Algorithms. Moreover, some knowledge about database management systems (including indexing and query processing) is helpful.- Introduction to Distributed Databases (2hours)
- DDBMS Architecture (2hours)
- Distributed Database Design (4hours)
- Semantic Integrity Control (2hours)
- Distributed Query Processing and Optimization (8 hours)
- Transactions, Concurrency Control (4 hours)
- Reliability (2 hours)
Textbook:
Lectures
| 1. | TH 05.03.09 | Introduction: syllabus, administration and organisation of the course, general introduction in distributed DBMS | |
| 2. | TH 12.03.09 | DDBMS Architecture: definition of DDBMS architecture, ANSI/SPARC standard, global, local, external, and internal schemas, DDBMS architectures, components of DDBMS | |
| 3. | TH 19.03.09 | Distributed Database Design: conceptual design (what can be distributed, design patterns), top-down, bottom-up patterns, technical design (fragmentation, allocation and replication of fragments, optimality, heuristics) | |
| 4. | TH 02.04.09 | Semantic Integrity Control: view management, security control, integrity control | |
| 5. | TH 09.04.09 | Distributed Query Processing: overview of query processing and query optimization, query decomposition and data localization | |
| 6. | TH 16.04.09 | Query decomposition and data localization: normalization, analysis, elimination of redundancy, rewriting, reduction for HF, reduction for VF | |
| 7. | TH 30.04.09 | Optimization of Distributed Queries: basic concepts, distributed cost model, database statistics | |
| 8. | TH 07.05.09 | Optimization of Distributed Queries: ordering of joins and semijoins, query optimization algorithms, INGRES, System R, hill climbing | |
| 9. | TH 14.05.09 | Transactions: introduction to transactions, definition and examples, properties, classification, processing issues, execution | |
| 10. | TH 21.05.09 | Concurrency Control: definition, execution schedules, examples, locking based algorithms, timestamp ordering algorithms, deadlock management | |
| 11. | TH 28.05.09 | Reliability: definitions, basic concepts, local recovery management, distributed reliability protocols | |
| 12. | TH 04.06.09 | Reliability: distributed reliability protocols, 2PC protocol |
Exercise/Project
The exercise part of the course consists in the elaboration of a mini-project, which can be done alone or in groups of 2 students. The project consists in the implemenation and evaluation of selected algorithms for parallel temporal aggregation from the following paper:
- D. Gao, J. Gendrano, B. Moon, R. Snodgrass, M. Park, B. Huang, and J. Rodrigue: Main memory-based algorithms for efficient parallel aggregation for temporal databases. Distributed and Parallel Databases, vol. 16, pages 123-163, 2004.
The project concludes with a final report of 5-10 pages which clearly describes problem, solution, algorithm, implementation, and evaluation.
The exercise starts on Thursday, 05.03.2009 with the presentation and assignment of the project. The weekly meetings are then used to discuss the progress, open problems, etc. The project report must be handed in by the end of the semester.
More details and information can be found here.
Exam
- The exam is oral at the end of the course and covers the entire course and the project.
- The exam consists of two parts:
- the defense of the project and the evaluation of the project report (40% of the total grade);
- questions from the DDB course (60% of the total grade).
- Both parts are required to pass the exam.
- Each student will be examined individually for approx. 20 minutes.
- This is an open book exam, i.e., the student is allowed to use the lecture notes and additional readings in the exam.