Unit 4: Concurrency and Recovery
Database management systems must be able to support concurrency; that is, they must be able to support multiple users and processes accessing the same records in a table. Modern database management systems handle concurrency in a variety of ways, including through the use of locking and versioning mechanisms. Database management systems must also be able to ensure transaction consistency and recover from catastrophic failures. In this unit, we will look at methods of ensuring that systems are capable of concurrency and recovery.
Completing this unit should take you approximately 13 hours.
4.1: Transactions and the ACID Property of Transactions
Read this presentation, which covers transaction properties and serializability.
Read this lecture to learn about transaction properties and serializability.
4.2: Serializability and the Serializability Theorem
Read these notes on serializability. Be sure that you understand the subcomponents that make up the serializability theorem. Determine the factors that are likely to affect the outcome of the schedule.
4.3: Two-Phase Locking
Read these slides, which cover two-phase locking timestamps, deadlocks, and multiversion concurrency control. As you read, focus on the mechanism and locks that affect concurrency control.
Read these slides, which cover two-phase locking timestamps, and deadlocks. As you read, focus on the components that are likely to affect the recovery of a database systems, as well as types of failures that can occur and how they can be corrected.