A New Approach for Distributed Main Memory Database Systems: A Causal Commit Protocol

SUMMARY Distributed database systems require a commit process to preserve the ACID property of transactions executed on a number of system sites. With the appearance of main memory database system, the database processingtime has been reduced in the order of magnitude, since the database access does not incur any disk access at all. However, when it comes to distributed main memory database systems, the distributed commit process is still very slow since the disk logging at several sites has to precede the transaction commit. In this paper, we re-evaluate various distributed commit protocols and come up with a causal commit protocol suitable for distributed main memory database systems. To evaluate the performance of the proposed commit protocol, extensive simulation study has been performed. The simulation results confirm that the new protocol greatly reduces the time to commit the distributed transactions without any consistency problem.

[1]  Michael J. Carey,et al.  A recovery algorithm for a high-performance memory-resident database system , 1987, SIGMOD '87.

[2]  Le Gruenwald,et al.  A performance study of concurrency control in a real-time main memory database system , 1993, SGMD.

[3]  Hector Garcia-Molina,et al.  System M: A Transaction Processing Testbed for Memory Resident Data , 1990, IEEE Trans. Knowl. Data Eng..

[4]  Le Gruenwald,et al.  MMDB reload algorithms , 1991, SIGMOD '91.

[5]  Jim Griffioen,et al.  DERBY: a memory management system for distributed main memory databases , 1996, Proceedings RIDE '96. Sixth International Workshop on Research Issues in Data Engineering.

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

[7]  Rachid Guerraoui,et al.  Exploiting Atomic Broadcast in Replicated Databases , 1998, Euro-Par.

[8]  Richard J. Lipton,et al.  A Massive Memory Machine , 1984, IEEE Transactions on Computers.

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

[10]  Kenneth A. Ross,et al.  Cache Conscious Indexing for Decision-Support in Main Memory , 1999, VLDB.

[11]  Gerhard Weikum,et al.  Multi-level recovery , 1990, PODS.

[12]  C. Mohan,et al.  ARIES/CSA: a method for database recovery in client-server architectures , 1994, SIGMOD '94.

[13]  Philippe Pucheral,et al.  A Single-Phase Non-Blocking Atomic Commitment Protocol , 1998, DEXA.

[14]  Peter M. G. Apers,et al.  Parallelism in a Main-Memory DBMS: The Performance of PRISMA/DB , 1992, VLDB.

[15]  Abraham Silberschatz,et al.  Incremental Recovery in Main Memory Database Systems , 1992, IEEE Trans. Knowl. Data Eng..

[16]  Rachid Guerraoui,et al.  One-phase commit: does it make sense? , 1998, Proceedings 1998 International Conference on Parallel and Distributed Systems (Cat. No.98TB100250).

[17]  Xi Li,et al.  Post-crash log processing for fuzzy checkpointing main memory databases , 1993, Proceedings of IEEE 9th International Conference on Data Engineering.

[18]  Michael J. Carey,et al.  A Concurrency Control Algorithm for Memory-Resident Database Systems , 1989, FODO.

[19]  C. Mohan,et al.  Recovery and Coherency-Control Protocols for Fast Intersystem Page Transfer and Fine-Granularity Locking in a Shared Disks Transaction Environment , 1991, VLDB.

[20]  David A. Patterson,et al.  Logp quantified: the case for low-overhead local area networks , 1995 .

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

[22]  S. Sudarshan,et al.  Distributed Multi-Level Recovery in Main-Memory Databases , 1996, Fourth International Conference on Parallel and Distributed Information Systems.

[23]  C. Mohan,et al.  Two-phase commit optimizations in a commercial distributed environment , 1995, Distributed and Parallel Databases.

[24]  Erhard Rahm,et al.  Recovery concepts for data sharing systems , 1991, [1991] Digest of Papers. Fault-Tolerant Computing: The Twenty-First International Symposium.

[25]  S. Sudarshan,et al.  Recovering from Main-Memory Lapses , 1993, VLDB.

[26]  David Kotz,et al.  A Performance Comparison of TCP/IP and MPI on FDDI, Fast Ethernet, and Ethernet , 1996 .

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

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

[29]  Kihong Kim,et al.  Differential logging: a commutative and associative logging scheme for highly parallel main memory database , 2001, Proceedings 17th International Conference on Data Engineering.

[30]  Luis-Felipe Cabrera,et al.  An Evaluation of Starburst's Memory Resident Storage Component , 1992, IEEE Trans. Knowl. Data Eng..

[31]  Hector Garcia-Molina,et al.  Main Memory Database Systems: An Overview , 1992, IEEE Trans. Knowl. Data Eng..

[32]  Robert B. Hagmann A Crash Recovery Scheme for a Memory-Resident Database System , 1986, IEEE Transactions on Computers.

[33]  Gustavo Alonso,et al.  A Low-Latency Non-blocking Commit Service , 2001, DISC.

[34]  Hector Garcia-Molina,et al.  Checkpointing memory-resident databases , 1989, [1989] Proceedings. Fifth International Conference on Data Engineering.

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