answersLogoWhite

0

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.

User Avatar

Wiki User

13y ago

Still curious? Ask our experts.

Chat with our AI personalities

BlakeBlake
As your older brother, I've been where you are—maybe not exactly, but close enough.
Chat with Blake
LaoLao
The path is yours to walk; I am only here to hold up a mirror.
Chat with Lao
SteveSteve
Knowledge is a journey, you know? We'll get there.
Chat with Steve

Add your answer:

Earn +20 pts
Q: Difference between 2-phase locking and 2-phase commit?
Write your answer...
Submit
Still have questions?
magnify glass
imp