
288 • T. Haerder and A. Reuter
CONTENTS
INTRODUCTION
1. DATABASE RECOVERY: WHAT IT IS
EXPECTED TO DO
1.1 What Is a Transaction?
1.2 Which Failures Have to Be Anticipated
1.3 Summary of Recovery Actions
2. THE MAPPING HIERARCHY OF A DBMS
2.1 The Mapping Process: Objects and Operations
2.2 The Storage Hierarchy: Implementational
Environment
2.3 Different Views of a Database
2.4 Mapping Concepts for Updates
3. CRASH RECOVERY
3.1 State of the Database after a Crash
3.2 Types of Log Information to Support
Recovery Actions
3.3 Examples of Recovery Techniques
3.4 Examples of Logging
and
Recovery Components
3 5 Evaluation of Logging
and
Recovery Concepts
4. ARCHIVE RECOVERY
5 CONCLUSION
ACKNOWLEDGMENTS
REFERENCES
v
tributing to the second category in the field
of database recovery. In particular, we are
establishing a systematic framework for es-
tablishing and evaluating the basic con-
cepts for fault-tolerant database operation.
The paper is organized as follows. Sec-
tion 1 contains a short description of what
recovery is expected to accomplish and
which notion of consistency we assume.
This involves introducing the transaction,
which has proved to be the major paradigm
for synchronization and recovery in ad-
vanced database systems. This is also the
most important difference between this pa-
per and Verhofstadt's survey, in which
techniques for file recovery are described
without using a particular notion of con-
sistency [Verhofstadt 1978]. Section 2 pro-
vides an implementational model for data-
base systems, that is, a mapping hierarchy
of data types. Section 3 introduces the key
concepts of our framework, describing the
database states after a crash, the type of
log information required, and additional
measures for facilitating recovery. Crash
recovery is demonstrated with three sample
implementation techniques. Section 4 ap-
plies concepts addressed in previous sec-
tions on media recovery, and Section 5
summarizes the scope of our taxonomy.
1. DATABASE RECOVERY: WHAT IT IS
EXPECTED TO DO
Understanding the concepts of database re-
covery
requires a clear comprehension of
two factors:
• the type of failure the database has to
cope with, and
• the notion of consistency that is assumed
as a criterion for describing the state to
be reestablished.
Before beginning a discussion of these
factors, we would like to point out that the
contents of this section rely on the descrip-
tion of failure types and the concept of a
transaction given by Gray et al. [1981].
1.1
What Is a Transaction?
It was observed quite early that manipulat-
ing data in a multiuser environment re-
quires some kind of isolation to prevent
uncontrolled and undesired interactions. A
user (or process) often does things when
working with a database that are, up to a
certain point in time, of tentative or prelim-
inary value. The user may read some data
and modify others before finding out that
some of the initial input was wrong, inval-
idating everything that was done up to that
point. Consequently, the user wants to re-
move what he or she has done from the
system. If other users (or processes) have
already seen the "dirty data" [Gray et al.
1981] and made decisions based upon it,
they obviously will encounter difficulties.
The following questions must be consid-
ered:
• How do they get the message that some
of their input data has disappeared, when
it is possible that they have already fin-
ished their job and left the terminal?
• How do they cope with such a situation?
Do they also throw away what they have
done, possibly affecting others in turn?
Do they reprocess the affected parts of
their program?
Computing Surveys, Vol. 15, No. 4, December 1983
评论