Assignment 4: Transactions and Recovery

Start date 27 November, Due beginning of class 6 December.

Exercises from the Book

Complete the following exercises from the book:

  1. 17.2: 2, 5, 10
  2. 17.4: 2
  3. 17.10: 2, 4. Note that it is Figure 17.5, not 19.5.
  4. We have taked about locking and recovery of objects by recording the old/new values (allowing undo and redo.) In many systems, the object recorded is an entry on a physical page (e.g., page ID and offset.) This works fine if we do page-level locking, but may fail if we lock at finer granularities.
    1. Give an example where undoing a transaction by writing old values at the page ID/offset could fail, even if all the individual values are locked. Hint: Think of changes to an index.
    2. Describe briefly (a paragraph or so) an approach that fixes this, but still allows locks of a finer granularity than the entire page. You are welcome to just summarize a technique described in the book, or that found in:
      C. Mohan: ARIES/KVL: A Key-Value Locking Method for Concurrency Control of Multiaction Transactions Operating on B-Tree Indexes. VLDB 1990: 392-405.

Turning in the assignment

Electronic submission preferred, through WebCT. Pdf or HTML submitted through WebCT is the safest for capturing non-text, please check with me if you wish to use another formats. Hard copy is acceptable as well, please hand in at the beginning of class.


Valid XHTML 1.1!