Page: 3 – Recovery & Atomicity (Logs)

Log = sequence of records kept in stable storage.

  • Fields: ⟨TxnID, DataItem, OldValue, NewValue⟩

  • Events: ⟨T start⟩, ⟨T commit⟩, ⟨T abort⟩

Example:

T0: transfer $50 from A → B
Steps: read(A), A = A – 50, write(A), read(B), B = B + 50, write(B)

Log:
<T0 start>
<T0, A, 1000, 950>
<T0, B, 2000, 2050>
<T0 commit>

Rule: Write log before DB update (WAL – Write Ahead Logging).

Updated on