patternMinor
Why do relational databases use 2PC for distributed transactions over the likes of Paxos?
Viewed 0 times
whythedatabaseslikesrelationaldistributedforpaxos2pctransactions
Problem
Paxos is more powerful and in the famous writing "Consensus on Transaction Commit" : http://research.microsoft.com/pubs/64636/tr-2003-96.pdf, Jim Gray and Leslie Lamport describe 2PC as a special case of Paxos.
Why do relational database use 2PC in real world? Also 2PC is not fault tolerant because it uses a single coordinator whose failure can cause the protocol to block.
Why do relational database use 2PC in real world? Also 2PC is not fault tolerant because it uses a single coordinator whose failure can cause the protocol to block.
Solution
One of the reasons is the message complexity. For N nodes, 2PC will require 3N to be exchanged whereas Paxos requires 4N. Also, Paxos adds sequence numbers to each message which adds a significant overhead to the overall execution.
Context
StackExchange Computer Science Q#33719, answer score: 3
Revisions (0)
No revisions yet.