Advanced Databases
News
- Die Prüfung vom Fr 24.04.2020 wird mündlich abgehalten werden.
Introduction
Course schedule and exam dates are available in PlusOnline. You may register or cancel the registration up to 48 hours before the exam. If you do not show up for a registered exam, you will be blocked for this exam according to the university regulations.
Lecture
Literature
Silberschatz, Korth, Sudarshan.
Database System Concepts.
McGraw-Hill, 2011 (6th edition)
Slides
The slides for each topic will be made available the day before the topic is treated in the lecture. The chapter numbers refer to the book "Database System Concepts" (see above).
Topic | Chapter | Slides | |
---|---|---|---|
1. | Transactions:: Transaction Concept, Transaction State, Concurrent Executions, Serializability, Recoverability, Implementation Isolation, Transaction Definition in SQL, Testing for Serializability | Ch. 14 | [1up] [4up] |
2. | Concurrency Control:: Lock-Based Protocols, Timestamp-Based Protocols, Validation-Based Protocols, Multiversion Schemes, Insert and Delete Operations, Concurrency in Index Structures | [1up] [4up] | |
3. | Recovery System: Failure Classification, Storage Structure, Recovery and Atomicity, Log-Based Recovery, Recovery Algorithm, Recovery with Early Lock Release and Logical Undo, ARIES | [1up] [4up] | |
Reading
Please prepare for the lecture by reading the relevant sections in the textbook. The course is designed to be attended by students that have read the relevant contents in the textbook. During the lecture we will focus on examples, deepening discussions, and student questions.
Exam
The exam will we written. In the case of very few registrations for an exam date, the exam will be held as an oral exam; in this case the students will be notified before the exam.
The exam dates will be announced on PlusOnline.
At the written exam you are allowed to use one A4 sheet with your personal notes (both sides, hand written or printed).
You may register or cancel the registration up to 48 hours before the exam. If you do not show up for a registered exam, you will be blocked for this exam according to the university regulations.
Example exams: 03.06.2016, 19.05.2017, 02.02.2018, 06.02.2019
Proseminar
We will practice the concepts discussed in the lecture regarding transactions, concurrency, and recovery. We will exercise numerous techniques to deal with the problems related to these topics and apply the gained knowledge in a practical setting.
Paper-based exercises
There is a list of exercises to practice the concepts introduced in the lecture. The exercises help to better understand the details. Solve the exercises yourself at home. In the lab we will review the solutions together and answer additional questions.
The list of all exercises is on GitLab. Your contribution is more than welcome. You can contribute by reporting bugs, fixing bugs, and adding new content.
Homeworks
The purpose of the homeworks is to apply the our knowledge in a practical setting. Homeworks are mandatory and make 100% of the lab grade. Homeworks rely on PostgreSQL databse management system. Install it locally on your machine.
Schedule
Meetings | Topic | Download | Exercises |
---|---|---|---|
03.10.2019 | Vorbesprechung | PostgreSQL | Source code of PostgreSQL | --- |
10.10.2019 | Transactions and ACID | Homework 1: Fun with transactions | 2 - 6 |
17.10.2019 | Isolation levels and phenomena | 8 - 11 | |
24.10.2019 | Schedules | Homework 2: Cancel them all | 13 - 21 |
blocking.py | |||
07.11.2019 | Locks and 2PL | 23 - 26 | |
14.11.2019 | Deadlock | 28 - 30 | |
21.11.2019 | Tree protocol | Multiple-granularity locking | Homework 3: Cookie jar | 31, 33 - 35 |
cookie_jar_stud.py | |||
28.11.2019 | Timestamp-ordering protocol | 37 - 40 | |
05.12.2019 | Validation protocol | 41 - 42 | |
12.12.2019 | Multiversion timestamp-ordering protocol | 44 | |
09.01.2020 | Logging and recovery | Homework 4: Validator | 46, 47, 49, 51, 53 |
validator_tests_generator.py | |||
correct_result_textbook.txt | |||
correct_result_original.txt | |||
Kung and Robinson paper | |||
16.01.2020 | --- | ||
23.01.2020 | --- | ||
30.01.2020 | --- |
Homework submission
Each homework must be submitted through our abgaben system before the deadline (no exceptions).
Submission details are explained with each homework.
Q&A
This year we will try the #adb Slack channel for any course-related questions.
Evaluation
The evaluation is based solely on the submitted homeworks with the following grading scale.
Points | Mark |
---|---|
[8.75, 10.00] | 1 |
[7.50, 8.75) | 2 |
[6.25, 7.50) | 3 |
[5.00, 6.25) | 4 |
[0.00, 5.00) | 5 |