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:
- 17.2: 2, 5, 10
- 17.4: 2
- 17.10: 2, 4. Note that it is Figure 17.5, not 19.5.
- 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.
-
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.
-
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.