Information Technology Reference
In-Depth Information
Logging was used in one form or another in early database management systems,
with recovery algorithms based on paradigms different from that of
ARIES
.SystemR
maintains “time-ordered lists of log entries, which record information about each
change to recoverable data, and the entries for each transaction are chained together,
and include the old and new values of all modified recoverable objects along with
operation code and object identification” [Astrahan et al.
1976
]. These log records
are redo-undo log records for forward-rolling update actions, while undo actions
are not logged. Also, modifications to dense indexes are not logged in System R,
because the index entries are redundant in that they can be determined from the
data tuples and information stored in the system catalog about the index. (See the
discussion of recovery paradigms by Mohan et al. [
1992a
].)
In the B-tree index management algorithms (
ARIES/KVL
and
ARIES/IM
) designed
to work with
ARIES
[Mohan,
1990a
,
1996a
, Mohan and Levine,
1992
], structure
modifications are logged differently from the way we propose in this topic. The
general approach for structure modifications in
ARIES
[Mohan et al.
1992a
]istolog
a structure modification involving several pages with as many log records as there
are pages, each describing the modification on one page. Such a log record is a redo-
undo log record as long as the multi-page structure modification is incomplete, but
turns into a redo-only log record as soon as the modification is completed. This
is achieved by ending the multi-page modification with a “dummy”
CLR
whose
only purpose is to make the
U
NDO
-N
EXT
-LSN
chain to skip over all the one-page
log records written for the multi-page modification. If the multi-page modification
is left incomplete due to a process failure or a system crash, so that the dummy
CLR
is missing, the modification is undone. Since a structure modification is a physical
operation, the undoing must also be physical; no logical undo is possible.
The discussion in Sect.
3.10
about the
LRU
and
MRU
buffering policies was
inspired by Stonebraker [
1981
] and Silberschatz et al. [
2006
].