Commit Protocols and their Issues in Distributed Databases
暂无分享,去创建一个
A number of protocols for complete and reliable execution of Distributed Transactions have been devised so far out of which the 2 phase commit protocol, 3 phase commit protocol and Quorum based protocols are quite famous. In this paper we study the performance issues of these commit protocols. The 2-Phase commit protocol is a blocking protocol i.e. the issue of Coordinator failure is not addressed by the protocol in a dignified and efficient manner. In the case of Coordinator failure, in 2-Phase commit protocol, each participant is waiting for the coordinator to recover and then tell the participants about the global decision being taken by it about the ultimate fate of the transaction which was in process when the coordinator failed [3]. Though some circumstances permit the protocol to elect a new participant and proceed with the protocol, but a new coordinator can be elected only in case when all participants know clearly that only the coordinator site has failed and no participant site has failed. [1] On the contrary, the 3-Phase commit protocol is known as non-blocking protocol as the issue of Coordinator failure is being handled by the protocol in a much reliable manner. Though the statement “Non-blocking” confines to the scenario where only the site failure is happening and not the coordinator failure i.e. the 3-Phase commit protocol is nonblocking when failures are restricted to site failures only. The Quorum based protocol, however, is more reliable in serious failures like Network Partitioning (simple partitions) in distributed databases. This Protocol works similar to 3-Phase commit protocol in normal processing, whereas in case of Network Partitioning the protocol determines the ultimate fate of the transaction by voting i.e. quorums. The major problem being faced by this protocol is that the protocol only works for simple partitioning of the Network i.e. the Network is divided in to two components. Apart from all of the above discussion, the three protocols have various issues with their execution. We give a brief overview of these issues in commit protocols.
[1] Jayant R. Haritsa,et al. Revisiting commit processing in distributed database systems , 1997, SIGMOD '97.
[2] Michael Hammer,et al. Reliability mechanisms for SDD-1: a system for distributed databases , 1980, TODS.
[3] Dale Skeen,et al. Nonblocking commit protocols , 1981, SIGMOD '81.
[4] Patrick Valduriez,et al. Principles of Distributed Database Systems , 1990 .
[5] Dale Skeen,et al. A Quorum-Based Commit Protocol , 1982, Berkeley Workshop.