A Performance Evaluation of Multi-Level Transaction Management

Multi-level transactions are a variant of open nested transactions in which the subtransactions correspond to operations at different levels of a layered system architecture. The point of multi-level transactions is that the semantics of high-level operations can be exploited in order to increase concurrency. As a consequence, undoing a transaction requires compensation of completed subtransactions. In addition, multi-level recovery methods have to take into account that highlevel operations are not necessarily atomic if multiple pages are updated in a single subtransaction. This paper presents a performance evaluation of the multi-level transaction management that is implemented in the database kernel system DASDBS. In particular, it is shown that multi-level recovery can be implemented in an efficient way. We discuss performance measurements, using a synthetic benchmark for processing complex objects in a multi-user environment.

[1]  Catriel Beeri,et al.  A model for concurrency in nested transactions systems , 1989, JACM.

[2]  Irving L. Traiger,et al.  The Recovery Manager of the System R Database Manager , 1981, CSUR.

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

[4]  Goetz Graefe,et al.  Tuning a parallel database algorithm on a shared‐memory multiprocessor , 1992, Softw. Pract. Exp..

[5]  Thomas C. Rakow,et al.  Atomic commitment for integrated database systems , 1991, [1991] Proceedings. Seventh International Conference on Data Engineering.

[6]  Nancy A. Lynch,et al.  Commutativity-Based Locking for Nested Transactions , 1990, J. Comput. Syst. Sci..

[7]  C. Mohan,et al.  ARIES/IM: an efficient and high concurrency index management method using write-ahead logging , 1992, SIGMOD '92.

[8]  Hans-Jörg Schek,et al.  The DASDBS Project: Objectives, Experiences, and Future Prospects , 1990, IEEE Trans. Knowl. Data Eng..

[9]  David J. DeWitt,et al.  A Study of Three Alternative Workstation-Server Architectures for Object Oriented Database Systems , 1990, VLDB.

[10]  Hans-Jörg Schek,et al.  Architectural Issues of Transaction Management in Multi-Layered Systems , 1984, VLDB.

[11]  E. B. Moss,et al.  Nested Transactions: An Approach to Reliable Distributed Computing , 1985 .

[12]  Rudolf Bayer,et al.  A database cache for high performance and fast restart in database systems , 1984, TODS.

[13]  Stanley B. Zdonik,et al.  Concurrency Control and Object-Oriented Databases , 1989, Object-Oriented Concepts, Databases, and Applications.

[14]  Jean Ferrié,et al.  Integrating Concurrency Control into an Object-Oriented Database System , 1990, Building an Object-Oriented Database System, The Story of O2.

[15]  Panos K. Chrysanthis,et al.  Finer grained concurrency for the database cache , 1987, 1987 IEEE Third International Conference on Data Engineering.

[16]  Erich J. Neuhold,et al.  Serializability in object-oriented database systems , 1990, [1990] Proceedings. Sixth International Conference on Data Engineering.

[17]  Kee S. Ong,et al.  Synapse approach to database recovery , 1984, PODS.

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

[19]  Thanasis Hadzilacos,et al.  Transaction synchronisation in object bases , 1988, PODS '88.

[20]  Bernd Freisleben,et al.  Transactions on Persistent Objects , 1989, POS.

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

[22]  Dennis Shasha,et al.  Concurrent search structure algorithms , 1988, TODS.

[23]  B. R. Badrinath,et al.  Performance evaluation of semantics-based multilevel concurrency control protocols , 1990, SIGMOD '90.

[24]  Alfred Z. Spector,et al.  Synchronizing shared abstract types , 1984, TOCS.

[25]  Gerhard Weikum,et al.  Multi-level transactions and open nested transactions , 1991 .

[26]  William E. Weihl Commutativity-based concurrency control for abstract data types , 1988 .

[27]  Hans-Jörg Schek,et al.  Multi-Level Transaction Management, Theoretical Art or Practical Need ? , 1988, EDBT.

[28]  Abraham Silberschatz,et al.  A Formal Approach to Recovery by Compensating Transactions , 1990, VLDB.

[29]  Gerhard Weikum,et al.  Principles and realization strategies of multilevel transaction management , 1991, TODS.

[30]  Gerhard Weikum,et al.  A theoretical foundation of multi-level concurrency control , 1985, PODS.

[31]  Marc H. Graham,et al.  Abstraction in recovery management , 1986, SIGMOD '86.

[32]  Hector Garcia-Molina,et al.  Using semantic knowledge for transaction processing in a distributed database , 1983, TODS.

[33]  Patrick E. O'Neil,et al.  The Escrow transactional method , 1986, TODS.

[34]  Klaus R. Dittrich,et al.  Two-Level Transaction Management In A Multiprocessor Database Machine , 1988, JCDKB.

[35]  Gerhard Weikum The COMFORT project: a comfortable way to better performance , 1990 .

[36]  Gerhard Weikum,et al.  Enhancing Concurrency in Layered Systems , 1987, HPTS.

[37]  Santosh K. Shrivastava,et al.  An overview of the Arjuna distributed programming system , 1991, IEEE Software.

[38]  Hamid Pirahesh,et al.  ARIES-RRH: restricted repeating of history in the ARIES transaction recovery method , 1991, [1991] Proceedings. Seventh International Conference on Data Engineering.

[39]  Theo Härder On Selected Performance Issues of Data Base Systems , 1987, MMB.

[40]  William E. Weihl The impact of recovery on concurrency control , 1989, PODS '89.

[41]  Bruce E. Martin,et al.  Modeling Concurrent Activities with Nested Objects , 1987, ICDCS.

[42]  Gerhard Weikum Dr.-Ing.,et al.  Multi-level transaction management for complex objects: Implementation, performance, parallelism , 2005, The VLDB Journal.