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

Home | Lectures | Exercise/Project | Exam

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.




1. TH 05.03.09 Introduction: syllabus, administration and organisation of the course, general introduction in distributed DBMS pdf
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 pdf
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) pdf
4. TH 02.04.09 Semantic Integrity Control: view management, security control, integrity control pdf
5. TH 09.04.09 Distributed Query Processing: overview of query processing and query optimization, query decomposition and data localization pdf
6. TH 16.04.09 Query decomposition and data localization: normalization, analysis, elimination of redundancy, rewriting, reduction for HF, reduction for VF pdf
7. TH 30.04.09 Optimization of Distributed Queries: basic concepts, distributed cost model, database statistics pdf
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 pdf
10. TH 21.05.09 Concurrency Control: definition, execution schedules, examples, locking based algorithms, timestamp ordering algorithms, deadlock management pdf
11. TH 28.05.09 Reliability: definitions, basic concepts, local recovery management, distributed reliability protocols pdf
12. TH 04.06.09 Reliability: distributed reliability protocols, 2PC protocol


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:

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.