Two-phase commit protocol

In transaction processing, databases, and computer networking, the two-phase commit protocol (2PC) is a type of atomic commitment protocol (ACP). It is a distributed algorithm that coordinates all the processes that participate in a distributed atomic transaction on whether to commit or abort (roll back) the transaction. This protocol (a specialised type of consensus protocol) achieves its goal even in many cases of temporary system failure (involving either process, network node, communication, etc. failures), and is thus widely used.However, it is not resilient to all possible failure configurations, and in rare cases, manual intervention is needed to remedy an outcome. To accommodate recovery from failure (automatic in most cases) the protocol's participants use logging of the protocol'

Comment
enIn transaction processing, databases, and computer networking, the two-phase commit protocol (2PC) is a type of atomic commitment protocol (ACP). It is a distributed algorithm that coordinates all the processes that participate in a distributed atomic transaction on whether to commit or abort (roll back) the transaction. This protocol (a specialised type of consensus protocol) achieves its goal even in many cases of temporary system failure (involving either process, network node, communication, etc. failures), and is thus widely used.However, it is not resilient to all possible failure configurations, and in rare cases, manual intervention is needed to remedy an outcome. To accommodate recovery from failure (automatic in most cases) the protocol's participants use logging of the protocol'
Has abstract
enIn transaction processing, databases, and computer networking, the two-phase commit protocol (2PC) is a type of atomic commitment protocol (ACP). It is a distributed algorithm that coordinates all the processes that participate in a distributed atomic transaction on whether to commit or abort (roll back) the transaction. This protocol (a specialised type of consensus protocol) achieves its goal even in many cases of temporary system failure (involving either process, network node, communication, etc. failures), and is thus widely used.However, it is not resilient to all possible failure configurations, and in rare cases, manual intervention is needed to remedy an outcome. To accommodate recovery from failure (automatic in most cases) the protocol's participants use logging of the protocol's states. Log records, which are typically slow to generate but survive failures, are used by the protocol's recovery procedures. Many protocol variants exist that primarily differ in logging strategies and recovery mechanisms. Though usually intended to be used infrequently, recovery procedures compose a substantial portion of the protocol, due to many possible failure scenarios to be considered and supported by the protocol. In a "normal execution" of any single distributed transaction (i.e., when no failure occurs, which is typically the most frequent situation), the protocol consists of two phases: 1. * The commit-request phase (or voting phase), in which a coordinator process attempts to prepare all the transaction's participating processes (named participants, cohorts, or workers) to take the necessary steps for either committing or aborting the transaction and to vote, either "Yes": commit (if the transaction participant's local portion execution has ended properly), or "No": abort (if a problem has been detected with the local portion), and 2. * The commit phase, in which, based on voting of the participants, the coordinator decides whether to commit (only if all have voted "Yes") or abort the transaction (otherwise), and notifies the result to all the participants. The participants then follow with the needed actions (commit or abort) with their local transactional resources (also called recoverable resources; e.g., database data) and their respective portions in the transaction's other output (if applicable). The two-phase commit (2PC) protocol should not be confused with the two-phase locking (2PL) protocol, a concurrency control protocol.
Hypernym
Protocol
Is primary topic of
Two-phase commit protocol
Label
enTwo-phase commit protocol
Link from a Wikipage to another Wikipage
Atomic commit
Category:Data management
Category:Transaction processing
Commit (data management)
Computer network
Computer networking
Concurrency control
Consensus (computer science)
Database
Distributed algorithm
Distributed transaction
Open XA
Paxos algorithm
Raft (algorithm)
Recovery procedure
Redo log
Server log
Stable storage
The Open Group
Three-phase commit protocol
Transaction manager
Transaction processing
Tree (data structure)
Two Generals' Problem
Two-phase locking
Write ahead logging
SameAs
2相コミット
2단계 커밋 프로토콜
9iX3
Commit de dos fases
Commit-Protokoll
Kétfázisú tranzakció-jóváhagyás
m.03c7r7
Protocollo di aggiornamento a due fasi
Q1067690
Two-phase commit
Two-phase commit protocol
Xác nhận hai pha (khoa học máy tính)
Двофазна транзакція
二阶段提交
Subject
Category:Data management
Category:Transaction processing
WasDerivedFrom
Two-phase commit protocol?oldid=1078983413&ns=0
WikiPageLength
14030
Wikipage page ID
787850
Wikipage revision ID
1078983413
WikiPageUsesTemplate
Template:Redirect
Template:Reflist