Lecture 9. Transactions: concurrency control
Readings:
- Michael J. Franklin. Concurrency Control and Recovery. The Handbook of Computer Science and Engineering, A. Tucker, ed., CRC Press, Boca Raton, 1997. [pdf]
This paper is a very accessible overview of transactions. We will go over this paper in lectures 9 and 10.
In lecture 9, we will focus on concurrency control. For this lecture, please read Sections 1, 2.1, and 3.1 (and please read the remaining sections for next lecture). While reading these sections, focus on the following questions
- What is a transaction and what are the ACID properties?
- What is serializability? What is a serializable schedule?
- How does two-phase locking (2PL) work?
- What is the "phantom problem"
- What are the four levels of isolation and what are the differences between them?
- What are some benefits and drawbacks of providing the notion of a transaction in a DBMS?
Lecture notes:
Additional resources:
- Chapters 16 and 17 (in R&G, third edition).
Optional, additional reading:
- H. T. Kung and J. T. Robinson. On Optimistic Methods for Concurrency Control. ACM Transactions on Database Systems. Vol 6, No 2, June 1981. Also in the Red Book (3rd ed and 4th ed). [pdf]