Monday, September 15, 2008

ARIES

This paper discusses ARIES (Algorithms for Recovery and Isolation Exploiting Semantics), a recovery method for databases. The method uses write-ahead logging for rollbacks and media recovery. The paper's authors emphasize the point that ARIES repeats history; it does this by redoing and then undoing certain transactions that were in progress during a failure. A strong point of ARIES is that it allows both partial and total rollbacks through the use of savepoints. The paper mentions differences between the ARIES method and that of System R; in particular, System R's shadow page technique was a source of overhead that the ARIES method avoids by allowing in-place updates.

ARIES uses page-oriented redos to cut down on tables and indexes required to access data pages but requires both page-oriented and logical undos to better allow for concurrency. Despite the authors' attempts to carefully trim the features needed for ARIES, such as the number of pages returned from non-volatile storage during recovery and descriptor tables, the logging system has a large amount of data it has to keep track of; from PrevLSN pointer fields within log records to CLRs and separate redo and undo actions, it seems like ARIES contains a non-trivial amount of bookkepping data and that the recovery algorithm would require quite a bit of extra overhead. However, ARIES has been adopted by a number of databases such as DB2 and MS SQL Server, so perhaps the authors are not underplaying the overhead after all.

No comments: