If persistent programming languages are to be accepted they must provide many of the standard features of traditional database systems, including resilience in the face of system failures in which the volatile database(in-memory databasebuffers) is lost. Ensuring the consistency of the database requires the generation of recovery information sufficient to restore the database to a consistent state after a crash. This paper examines a range of schemes for the efficient generation of recovery information in persistent programming languages,and evaluates their relative performance within an implementation of Persistent Smalltalk.
Antony L. Hosking, Eric W. Brown, J. Eliot B. Moss