This is an archived course. A more recent version may be available at ocw.mit.edu.

Lecture 10: Recovery

Lectures: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23

Overview

In this class, we will continue our discussion of Transaction Processing, focusing in particular on recovery. You should read the paper:

Amazon logo Mohan, C., et al. "ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollbacks Using Write-Ahead Logging." In Readings in Database Systems. San Fransisco, CA: Morgan Kaufmann, 1998. ISBN: 1558605231. Read Sections 1-7, and skim Sections 12 and 13.

This is generally considered one of the most difficult papers in database systems, because it is extremely dense. The basic concept of log-based recovery, however, should be familiar to you.

As you read, note any terms you are unfamiliar with and come to class prepared to answer the following questions:

  • What is the difference between a latch and a lock?
  • What is the purpose of the analysis phase?
  • Why is it necessary to perform REDO before UNDO? What can be said about the state of the system after the REDO phase?
  • How does ARIES recover from a crash during recovery?