Recovery and Performance of Atomic Commit Processing in Distributed Database Systems

A transaction is traditionally deened so as to provide the properties of atomicity, consistency, integrity, and durability (ACID) for any operation it performs. In order to ensure the atomicity of distributed transactions, an atomic commitprotocol needs to be followed by all sites participating in a transaction execution to agree on the nal outcome, that is, commit or abort. A variety of commit protocols have been proposed that either enhance the performance of the classical two-phase commit protocol during normal processing or reduce the cost of recovery processing after a failure. In this chapter, we survey a number of two-phase commit variants and optimizations, including some recent ones, providing an insight in the performance trade-oo between normal and recovery processing. We also analyze the performance of a representative set of commit protocols both analytically as well as empirically using simulation. 13.1 INTRODUCTION Transactions are powerful abstractions that facilitate the structuring of database systems, and distributed systems in general, in a reliable manner. Each transaction represents a task or a logical function that involves access to a shared database and 370

[1]  Miron Livny,et al.  Concurrency control performance modeling: alternatives and implications , 1987, TODS.

[2]  Marek Sherman Distributed transaction processing with Encina , 1993, [1993] Proceedings of the Second International Conference on Parallel and Distributed Information Systems.

[3]  Eric C. Cooper Analysis of distributed commit protocols , 1982, SIGMOD '82.

[4]  Jim Gray,et al.  The Transaction Concept: Virtues and Limitations (Invited Paper) , 1981, VLDB.

[5]  Butler W. Lampson,et al.  Distributed Systems — Architecture and Implementation , 1982, Lecture Notes in Computer Science.

[6]  Bruce G. Lindsay,et al.  Transaction management in the R* distributed database management system , 1986, TODS.

[7]  Nandit Soparkar,et al.  Adaptive Commitment for Real-Time Distributed Transactions , 1992 .

[8]  Butler W. Lampson,et al.  A New Presumed Commit Optimization for Two Phase Commit , 1993, VLDB.

[9]  Panos K. Chrysanthis,et al.  The Implicit-Yes Vote Commit Protocol with Delegation of Commitment , 1996 .

[10]  Steven P. Levitan,et al.  An argument in favor of the presumed commit protocol , 1997, Proceedings 13th International Conference on Data Engineering.

[11]  C. Mohan Generalized Presumed Abort: Marrying Presumed Abort and SNA LU6.2 Commit Protocols , 1993, HPTS.

[12]  Kurt Rothermel,et al.  Open commit protocols tolerating commission failures , 1993, TODS.

[13]  Kurt Rothermel,et al.  Open commit protocols for the tree of processes model , 1990, Proceedings.,10th International Conference on Distributed Computing Systems.

[14]  Marek Sherman,et al.  Architecture of the Encina distributed transaction processing family , 1993, SIGMOD Conference.

[15]  Irving L. Traiger,et al.  The notions of consistency and predicate locks in a database system , 1976, CACM.

[16]  Flaviu Cristian,et al.  A low-cost atomic commit protocol , 1990, Proceedings Ninth Symposium on Reliable Distributed Systems.

[17]  Bruce G. Lindsay,et al.  Efficient commit protocols for the tree of processes model of distributed transactions , 1985, OPSR.

[18]  Panos K. Chrysanthis,et al.  Dealing with incompatible presumptions of commit protocols in multidatabase systems , 1996, SAC '96.

[19]  Dale Skeen,et al.  Nonblocking commit protocols , 1981, SIGMOD '81.

[20]  Hamid Pirahesh,et al.  ARIES: a transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging , 1998 .

[21]  Donovan A. Schneider,et al.  The Gamma Database Machine Project , 1990, IEEE Trans. Knowl. Data Eng..

[22]  Jim Gray,et al.  Notes on Data Base Operating Systems , 1978, Advanced Course: Operating Systems.

[23]  Andreas Reuter,et al.  Transaction Processing: Concepts and Techniques , 1992 .

[24]  Özgür Ulusoy,et al.  A Transaction Model for Multidatabase Systems , 1996, Euro-Par, Vol. II.

[25]  Miron Livny,et al.  Distributed Concurrency Control Performance: A Study of Algorithms, Distribution, and Replication , 1988, VLDB.

[26]  Panos K. Chrysanthis,et al.  Two-Phase Commit in Gigabit-Networked Distributed Databases , 1995 .

[27]  Miron Livny,et al.  Parallelism and concurrency control performance in distributed database machines , 1989, SIGMOD '89.

[28]  James M. Showalter,et al.  Coordinated Resource Recovery in VM/ESA , 1991, IBM Syst. J..

[29]  Panos K. Chrysanthis,et al.  Enhancing the performance of presumed commit protocol , 1997, SAC '97.

[30]  Panos K. Chrysanthis,et al.  Advances in concurrency control and transaction processing - executive briefing , 1996 .

[31]  Michael Stonebraker,et al.  A Formal Model of Crash Recovery in a Distributed System , 1983, IEEE Transactions on Software Engineering.

[32]  Michael Hammer,et al.  Reliability mechanisms for SDD-1: a system for distributed databases , 1980, TODS.

[33]  C. Mohan,et al.  Two-phase commit optimizations and tradeoffs in the commercial environment , 1993, Proceedings of IEEE 9th International Conference on Data Engineering.

[34]  Peter M. Spiro,et al.  Designing an Optimized Transaction Committ Protocol , 1991, Digit. Tech. J..

[35]  Jayant R. Haritsa,et al.  Commit processing in distributed real-time database systems , 1996, 17th IEEE Real-Time Systems Symposium.

[36]  Daniel J. Rosenkrantz,et al.  System level concurrency control for distributed database systems , 1978, TODS.

[37]  Eyal Zimran The two-phase commit performance of the DECdtm services , 1992, [1992] Proceedings 11th Symposium on Reliable Distributed Systems.

[38]  Jayant R. Haritsa,et al.  Revisiting commit processing in distributed database systems , 1997, SIGMOD '97.

[39]  Michael Stonebraker,et al.  Implementation techniques for main memory database systems , 1984, SIGMOD '84.

[40]  Richard D. Schlichting,et al.  Fail-stop processors: an approach to designing fault-tolerant computing systems , 1983, TOCS.

[41]  Andreas Reuter,et al.  Principles of transaction-oriented database recovery , 1983, CSUR.

[42]  James E. Johnson,et al.  Transaction Management Support in the VMS Operating System Kernel , 1991, Digit. Tech. J..

[43]  Panos K. Chrysanthis,et al.  An atomic commit protocol for gigabit-networked distributed database systems , 2000, J. Syst. Archit..

[44]  Yousef Jassem Al-Houmaily Commit processing in distributed database systems and in heterogeneous multidatabase systems , 1997 .

[45]  Michael Stonebraker,et al.  Concurrency Control and Consistency of Multiple Copies of Data in Distributed Ingres , 1979, IEEE Transactions on Software Engineering.