Encyclopedia of Database Systems

2009 Edition

Three-Phase Commit

Reference work entry
DOI: https://doi.org/10.1007/978-0-387-39940-9_714


Three-phase commit (3PC) is a synchronization protocol that ensures global atomicity of distributed transactions while alleviating the blocking aspect of 2PC (Two-Phase Commit) in the events of site failures. That is, 3PC never requires operational sites to wait (i.e., block) until a failed site has recovered.

Historical Background

3PC was one of the first attempts to resolve the blocking aspects of 2PC [6]. The main purpose of the protocol is to allow operational sites to continue transaction processing and reach agreement about the final status of transactions in spite of the presence of site failures. 3PC can tolerate any number of site failures (except for total sites’ failures), assuming a highly reliable network (i.e., a network that never causes operational sites to be partitioned into more than one set of communicating sites, implying a network that never fails).


In 2PC, a participant is blockedif it fails to communicate with the coordinator of a...

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

Recommended Reading

  1. 1.
    Al-Houmaily Y. Incompatibility dimensions and integration of atomic commit protocols. Int. Arab J. Inf. Technol., 5(4):2008.Google Scholar
  2. 2.
    Chrysanthis P.K., Samaras G., and Al-Houmaily Y. Recovery and performance of atomic commit processing in distributed database systems, Chapter 13. In Recovery Mechanisms in Database Systems, V. Kumar, M. Hsu (eds.). Prentice Hall, Upper Saddle River, NJ, 1998, pp. 370–416.Google Scholar
  3. 3.
    Lamport L., Shostak R., and Pease M. The byzantine generals problem. ACM Trans. Programming Lang. Syst., 4(3):382–401, 1982.CrossRefzbMATHGoogle Scholar
  4. 4.
    Mohan C., Lindsay B., and Obermarck R. Transaction Management in the R* Distributed Data Base Management System. ACM Trans. Database Syst., 11(4):378–396, 1986.CrossRefGoogle Scholar
  5. 5.
    Samaras G., Britton K., Citron A., and Mohan C. Two-phase commit optimizations in a commercial distributed environment. Distrib. Parall. Databases, 3(4):325–361, 1995.CrossRefGoogle Scholar
  6. 6.
    Skeen D. Non-blocking Commit Protocols. In Proc. ACM SIGMOD Int. Conf. on Management of Data, 1981, pp. 133–142.Google Scholar
  7. 7.
    Skeen D. and Stonebraker M. A Formal model of crash recovery in a distributed system. IEEE Trans. Softw. Eng., 9(3):219–228, 1983.CrossRefGoogle Scholar
  8. 8.
    Yu W. and Pu C. A Dynamic two-phase commit protocol for adaptive composite services. Int. J. Web Serv. Res., 4(1), 2007.Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2009

Authors and Affiliations

  1. 1.Institute of Public AdministrationRiyadhSaudi Arabia
  2. 2.University of CyprusNicosiaCyprus