2PC and 2PL are protocols used in conjunction with distributed databases. Both together are
The two phase lock protocol (2PL) deals uniquely with the fact how are locks are acquired during a transaction whereas the two phase commit (2PC) protocol deals with the fact how do multiple hosts decide wether one specific transaction is written (commited) or not (abort).
2PL sais that first there is a phase where locks are (during a transaction) acquired (growth phase) and then there is a phase where the locks are beeing removed (shrinking phase). Once the shrinking phase started no more locks can be acquired during this transaction. The shrinking phase usually takes place after an abort or a commit phase in a typical database system.
The essence of 2PC is that after a transaction is complete and should be commited a vote starts. Each node which is part of the transaction is asked to "prepare to commit". The node will then check wether a local commit is possible and if yes it votes with "ready to commit" (RTC) [Important: changes are not beeing written to the database at that point]. Once a node signaled RTC the system must be kept in a state where the transaction is allways commitable. If all nodes signal RTC the transaction the transaction master signals them a commit. If one of the nodes does not signal RTC the transaction master will signal abort to all local transactions.
Chat with our AI personalities
No does not suicide he blind himself .. Jocasta who commit suicide by his own hands
To get to the "other side."
To get to the other side.
Commit bigamy.
Antigone hangs herself with her robe.