The course gives a broad and thorough overview of the transaction systems theory. It concentrates on concurrency control and recovery (and their interaction) in database management systems, while also covering other topics (implementational issues, distributed transaction management and recovery etc).
VoraussetzungenThe course is aimed at Master-level students who have already taken the following (or similar) courses:
- Foundations of Computer Science
- Introduction to Databases
Organisation und Klausur
- Date, time, and location: Monday 9am–12pm (90 minutes lecture followed by 90 minutes exercise session), Room 02.09.014
First lecture: April 24, 2017
- Bonus: There will be optional home assignments. If you achieve 75% or more in the home assignments, you will receive a 0.3 bonus on the exam grade (iff your exam grade is between 1.3 and 4.0).
- Example: A student achieves 82% in the home assignments, and 1.7 in the final exam. His/Her final grade will be 1.4.
- Exam: Written exam, 90 minutes. We will practice exam-style problems in the exercise sessions and the home assignments.
- Exam date, time, and location: will be announced in TUMonline
- Exam registration: via TUMonline
- Resit exam (Wiederholungsprüfung): There will be no resit exam (Wiederholungsprüfung). The next exam will probably take place at the end of Sommersemester 2018.
- Chapter 1: Introduction
- Chapter 2: Computational Models
- Chapter 3: Concurrency Control: Notions of Correctness for the Page Model
- Chapter 4: Concurrency Control Algorithms
- Chapter 5: Multiversion Concurrency Control
- Chapter 6: Concurrency Control on Objects: Notions of Correctness
- Chapter 7: Concurrency Control Algorithms on Objects
- Chapter 8: Concurrency Control on Relational Databases
- Chapter 9: Concurrency Control on Search Structures
- Chapter 10: Implementation and Pragmatic Issues
- Chapter 11: Transaction Recovery
- Chapter 12: Crash Recovery: Notion of Correctness
- Chapter 13: Page-Model Crash Recovery Algorithms
- Chapter 14: Object-Model Crash Recovery
- Chapter 15: Special Issues of Recovery
- Synchronization on Multi-Core CPUs
- Exercise Session 01: Review and Home Assignment 01: Checking serializability
- Exercise Session 02: Chapters 1, 2, 3.1–3.6 and Home Assignment 02: Herbrand semantics and FSR
- Exercise Session 03: Chapters 3.7–3.8 and Home Assignment 03: VSR and 2PL schedulers
- Exercise Session 04: Chapters 3.9–4.3.2 (Update: solution for [S][S]2PL activity) and Home Assignment 04: Interleaving Specifications and sample solution
- Exercise Session 05: Chapters 4.3.3–4.3.6 and Home Assignment 05: 2PL Deadlocks, O2PL and sample solution
- Exercise Session 06: Chapters 4.4–5.2 and Home Assignment 06: BTO, BOCC, FOCC and your Single-Version CC Q&A
- Exercise Session 07: Chapters 5.3–5.6 and Home Assignment 07: MVSR and MVSG, MCSR and MVCG, MVTO, 2V2PL and your Multi-Version CC Q&A
- Exercise Session 08: Chapters 6–7.5 and Home Assignment 08: MVSR, tree-reducible schedules, return-value commutativity table
- Exercise Session 09: Chapters 7.6–8 and Home Assignment 09: Data structure serializability, hybrid protocols, IDM serializability, predicate locking, B+ tree locking
- Exercise Session 10: Exam prep
- Gerhard Weikum, Gottfried Vossen. Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery. Morgan Kaufmann Publishers, 2002