Preparation for Recitation on Concurrency Control and Recovery

Read Concurrency Control and Recovery, by Michael J. Franklin. You can skip section 3.2.

This paper is quite long, so you may want to digest the paper in a few chunks. The first two sections are a good review of the basics of locking and logging that will be discussed in lectures this week.

After reading the paper, answer the following question:

The end of Section 1 presents the challenge of achieving isolation and fault tolerance while still maintaining good performance. One example of this trade-off is in choosing the buffer management policy: a NO-STEAL/FORCE policy is the easiest to implement, but STEAL/NO-FORCE results in the best performance.

Give at least three additional examples from the paper that illustrate the trade-off between implementing ACID transaction properties and maintaining good performance. For each example, explain how the policy or technique in question trades off performance.