Content deleted Content added
No edit summary |
Canadaduane (talk | contribs) m Clarify language "a specific type of failure" |
||
(17 intermediate revisions by 14 users not shown) | |||
Line 1:
{{Short description|Distributed algorithm}}
In [[computer networking]] and distributed [[database]]s, the '''three-phase commit protocol''' ('''3PC''')<ref name=3PC>{{cite
| last = Skeen
| first = Dale
Line 6 ⟶ 7:
| institution = Department of Computer Science, Cornell University
| url = https://ecommons.cornell.edu/handle/1813/6323
}}</ref> is a [[distributed algorithm]]
==Motivation==
Line 15 ⟶ 16:
==Solution==
The pre-commit phase introduced above helps
==Extensions==
Using Skeen's original three-phase commit protocol, it is possible that a quorum becomes connected without being able to make progress (this is not a deadlock situation; the system will still progress if the network partitioning is resolved). Keidar and Dolev's E3PC<ref name=E3PC>{{cite journal|last=Keidar|first=Idit|author1-link=Idit Keidar|author2=Danny Dolev |title=Increasing the Resilience of Distributed and Replicated Database Systems|journal= Journal of Computer and System Sciences|volume=57|issue=3|date=December 1998|pages=309–324|
url=
==Disadvantages==
Three-phase commit assumes a network with bounded delay and nodes with bounded response times; In most practical systems with unbounded network delay and process pauses, it cannot guarantee atomicity. The other drawback of the protocol is it requires at least three round trips to complete, needing a minimum of three round trip times (RTTs). This is potentially a long latency to complete each transaction.
==References==
Line 29 ⟶ 30:
==See also==
*[[Two-phase commit protocol]]
*[[Paxos algorithm]]
[[Category:Transaction processing]]
|