Extensible Storage Engine - Logging and Crash Recovery

Logging and Crash Recovery

The logging and recovery feature of ESE supports guaranteed data integrity and consistency in the event of a system crash. Logging is the process of redundantly recording database update operations in a log file. The log file structure is very robust against system crashes. Recovery is the process of using this log to restore databases to a consistent state after a system crash.

Transaction operations are logged and the log is flushed to disk during each commit to transaction level 0. This allows the recovery process to redo updates made by transactions which commit to transaction level 0, and undo changes made by transactions which did not commit to transaction level 0. This type of recovery scheme is often referred to as a ‘roll-forward/roll-backward’ recovery scheme. Logs can be retained until the data is safely copied via a backup process described below, or logs can be reused in a circular fashion as soon as they are no longer needed for recovery from system crash. Circular logging minimizes the amount of disk space needed for the log but has implications on the ability to recreate a data state in the event of a media failure.

Read more about this topic:  Extensible Storage Engine

Famous quotes containing the words crash and/or recovery:

    Russian forests crash down under the axe, billions of trees are dying, the habitations of animals and birds are layed waste, rivers grow shallow and dry up, marvelous landscapes are disappearing forever.... Man is endowed with creativity in order to multiply that which has been given him; he has not created, but destroyed. There are fewer and fewer forests, rivers are drying up, wildlife has become extinct, the climate is ruined, and the earth is becoming ever poorer and uglier.
    Anton Pavlovich Chekhov (1860–1904)

    With any recovery from morbidity there must go a certain healthy humiliation.
    Gilbert Keith Chesterton (1874–1936)