Encyclopedia of Database Systems

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

Three-Phase Commit

  • Yousef J. Al-HoumailyEmail author
  • George Samaras
Reference work entry
DOI: https://doi.org/10.1007/978-1-4614-8265-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 [1]. 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.
    Skeen D. Non-blocking commit protocols. In: Proceedings of the ACM SIGMOD International Conference on Management of Data; 1981. p. 133–42.Google Scholar
  2. 2.
    Al-Houmaily Y. Atomic commit protocols, their integration, and their optimisations in distributed database systems. Int J Intell Inf Database Syst. 2010;4(4):373–412.Google Scholar
  3. 3.
    Al-Houmaily Y. Incompatibility dimensions and integration of atomic commit protocols. Int Arab J Inf Technol. 2008;5(4):381–392.Google Scholar
  4. 4.
    Yu W, Pu C. A Dynamic two-phase commit protocol for adaptive composite services. Int J Web Serv Res. 2007;4(1):80–100.CrossRefGoogle Scholar
  5. 5.
    Samaras G, Britton K, Citron A, Mohan C. Two-phase commit optimizations in a commercial distributed environment. Distrib Parallel Databases. 1995;3(4):325–61.CrossRefGoogle Scholar
  6. 6.
    Mohan C, Lindsay B, Obermarck R. Transaction management in the R* distributed data base management system. ACM Trans Database Syst. 1986;11(4):378–96.CrossRefGoogle Scholar
  7. 7.
    Lamport L, Shostak R, Pease M. The byzantine generals problem. ACM Trans Program Lang Syst. 1982;4(3):382–401.zbMATHCrossRefGoogle Scholar
  8. 8.
    Skeen D, Stonebraker M. A formal model of crash recovery in a distributed system. IEEE Trans Softw Eng. 1983;9(3):219–28.CrossRefGoogle Scholar

Copyright information

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

Authors and Affiliations

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

Section editors and affiliations

  • Kian-Lee Tan
    • 1
  1. 1.Dept. of Computer ScienceNational Univ. of SingaporeSingaporeSingapore