Principles of transaction-oriented database recovery