Recovery algorithms are techniques to ensure database consistency, transaction atomicity, and durability despite failures.

The key primitives that used in recovery algorithms are UNDO and REDO.

1. Failure Classsification


<aside> 💡 Storage Types

1.1 Transaction Failures

A transaction reaches an error and must be aborted

1.2 System Failures

Unintented failures in hardware or software that must also be accounted for in crash recovery protocols.

1.3 Storage Media Failure

Non-repairable failures that occur when the physical storage machine is damaged.

When the storage media fails, the DBMS must be restored from an archived version.