Encyclopedia of Database Systems

2018 Edition
| Editors: Ling Liu, M. Tamer Özsu

Compensating Transactions

  • Greg SpeegleEmail author
Reference work entry
DOI: https://doi.org/10.1007/978-1-4614-8265-9_735


Given a transaction T, and its compensating transaction C, then for any set of transactions H executing concurrently with T, the database state D resulting from executing THC is equivalent to the database state D′ resulting from executing H alone. Typically, equivalent means both D and D′ satisfy all database consistency constraints, but D and D′ do not have to be identical.

A compensating transaction is defined in terms of its corresponding failed transaction, and once started, must be completed. This may involve re-executing the compensating transaction multiple times. The result of compensation is application dependent.

Key Points

A compensating transaction is a set of database operations that perform a logical undo of a failed transaction. The goal of the compensating transaction is to restore any database consistency constraints violated by the failed transaction without adversely affecting other concurrent transactions (e.g., cascading aborts). However, it does not...

This is a preview of subscription content, log in to check access.

Recommended Reading

  1. 1.
    Garcia-Molina H, Salem K. SAGAS. In: Proceedings of the ACM SIGMOD International Conference on Management of Data; 1987. p. 249–59.Google Scholar
  2. 2.
    Korth HF, Levy E, Silberschatz A. A formal approach of recovery by compensating transactions. In: Proceedings of the 16th International Conference on Very Large Data Bases; 1990. p. 95–106.Google Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Department of Computer ScienceBaylor UniversityWacoUSA

Section editors and affiliations

  • Panos K. Chrysanthis
    • 1
  1. 1.Department of Computer ScienceUniversity of PittsburghPittsburghUSA