Physiological logging
Physiological logging identifies an affected database page explicitly while describing the change as a logical operation within that page.
The redo record includes a page identifier, an operation and its arguments. This differs from logical redo that locates the target for example through a key lookup, and from physical logging tied to byte offsets within the page. The record format and the recovery protocol must be considered together. [1]
Undo need not return to the original page. ARIES/IM shows a concurrent B-tree split moving an inserted key from P1 to P2; rollback then finds the key on P2. Its compensation record logs the deletion actually performed, enabling page-oriented redo of that compensation. ARIES/IM first checks the original page and uses tree traversal when page-oriented undo cannot be performed; not every undo needs a tree search. [2] [3]
Logical redo that finds a record through a B-tree depends on a usable placement index. In Deuteronomy, data-component recovery therefore precedes transaction-level replay; physiological redo can identify its target page without that tree traversal. This is an ordering dependency, not a universal performance ranking. [1]
Relations
Advantages
- A page identifier allows redo to locate the affected page without retraversing the index to find the record. [1]
Limitations
- Physiological logging is a representation technique, not a synonym for WAL or a complete recovery algorithm; durability and recovery ordering remain protocol requirements. [3]
- A page-LSN comparison is part of the redo protocol, not evidence that an arbitrary operation is intrinsically idempotent. [1, 3]
Citations
- David Lomet, Kostas Tzoumas and Michael Zwilling. Implementing Performance Competitive Logical Recovery. PVLDB 4(7), 430-439 (2011), sections 1.2, 2.1 and 2.2.
- Mohan and Levine. ARIES/IM: An Efficient and High Concurrency Index Management Method Using Write-Ahead Logging. SIGMOD 1992, Figure 1 and section 3, p. 378.
- C. Mohan. Repeating History Beyond ARIES. VLDB 1999, sections 3.2.1-3.2.2.