Transaction management for a distributed object storage system WAKASHI-design, implementation and performance

This paper presents the transaction management in a high performance distributed object storage system WAKASHI. Unlike other systems that use centralized client/server architecture and other conventional buffer management for distributed persistent object management, WAKASHI is based on symmetric peer-peer architecture and employs memory-mapping and distributed shared virtual memory techniques. Several novel techniques of transaction management for WAKASHI are developed. First, a multi-threaded transaction manager offers "multi-threaded connection" so that data control and transaction operations can be performed in parallel manner. Secondly, a concurrency control mechanism supports transparent page-level locks to reduce the complexity of user programs and locking overhead. Thirdly, a "compact commit" method is proposed to minimize the communication cost by reducing the amount of data and the number of connections. Fourthly, a redo-only recovery method is implemented by "shadowed cache" method to minimize the logging cost, and to allow fast recovery and system restart. Moreover, the system offers "hierarchical" control to support nested transactions. A performance evaluation by the OO7 benchmark is presented.

[1]  Euthimios Panagos,et al.  A high performance configurable storage manager , 1995, Proceedings of the Eleventh International Conference on Data Engineering.

[2]  Won Kim,et al.  Architecture of the ORION Next-Generation Database System , 1990, IEEE Trans. Knowl. Data Eng..

[3]  Bill Nitzberg,et al.  Distributed shared memory: a survey of issues and algorithms , 1991, Computer.

[4]  David J. DeWitt,et al.  The 007 Benchmark , 1993, SIGMOD '93.

[5]  O. Deux,et al.  The Story of O2 , 1990, IEEE Trans. Knowl. Data Eng..

[6]  David J. DeWitt,et al.  The oo7 Benchmark , 1993, SIGMOD Conference.

[7]  David J. DeWitt,et al.  Shoring up persistent applications , 1994, SIGMOD '94.

[8]  Yasuo Yamane,et al.  The C-based Database Programming Language Jasmine/C , 1990, VLDB.

[9]  Michael Stonebraker,et al.  The SEQUOIA 2000 storage benchmark , 1993, SIGMOD '93.

[10]  Jack A. Orenstein,et al.  The ObjectStore database system , 1991, CACM.

[11]  David J. DeWitt,et al.  Object and File Management in the EXODUS Extensible Database System , 1986, VLDB.

[12]  Richard Cooper,et al.  Object Databases: An ODMG Approach , 1996 .

[13]  David J. DeWitt,et al.  Crash recovery in client-server EXODUS , 1992, SIGMOD '92.

[14]  Miron Livny,et al.  Local Disk Caching for Client-Server Database Systems , 1993, VLDB.

[15]  C. Mohan,et al.  ARIES/NT: A Recovery Method Based on Write-Ahead Logging for Nested Transactions , 1989, VLDB.

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

[17]  Lawrence A. Rowe,et al.  Cache consistency and concurrency control in a client/server DBMS architecture , 1991, SIGMOD '91.