Abstract
Multi-level transactions are a varlant of open-nested transactions in which the subtransactions correspond to operations at different levels of a layered system architecture. They allow the exploitation of semantics of high-level operations to increase concurrency. As a consequence, undoing a transaction requires compensation of completed subtransactions. In addition, multi-level recovery methods must take into consideration that high-level operations are not necessarily atomic if multiple pages are updated in a single subtransaction. This article presents algorithms for multi-level transaction management that are implemented in the database kernel system (DASDBS). In particular, we show 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. We show that multi-level transaction management can be extended easily to cope with parallel subtransactions within a single transaction. Performance results are presented with varying degrees of inter- and intratransaction parallelism.
Similar content being viewed by others
References
Agrawal, R. A. Parallel logging algorithm for multiprocessor database machines.Fourth International Workshop on Database Machines, Grand Bahama Island, 1985.
Anderson, T.L., Berre, A.H., Mallison, M., Porter, H., and Schneider, B. The hypermodel benchmark.Second International Conference on Extending Data Base Technology, Venice, 1990.
Badrinath, B.R. and Ramamritham, K. Performance evaluation of semantics-based multilevel concurrency control protocols.ACM SIGMOD International Conference on the Management of Data, Atlantic City, 1990.
Beeri, C., Schek., H.-J., and Weikum, G. Multi-level transaction management, theoretical art or practical need?First International Conference on Extending Database Technology, Venice, 1988.
Beeri, C., Bernstein, P.A., and Goodman, N. A model for concurrency in nested transactions systems.Journal of the ACM, 36(1):230–269, 1989.
Bernstein, P.A., Hadzilacos, V., and Goodman, N.Concurrency Control and Recovery in Database Systems, Reading, Massachusetts: Addison-Wesley, 1987.
Broessler, P. and Freisleben, B. Transactions on persistent objects.International Workshop on Persistent Object Systems, Newcastle, Australia, 1989.
Buhr, P.A. and Stroobosscher, R.A. The μSystem: Providing light-weight concurrency on shared-memory multiprocessor computers running UNIX.Software-Practice and Experience, 20(9):929–964, 1990.
Carey, M.J., Krishnamurthi, S., and Livny, M. Load control for locking: the “half-and-half” approach.ACM International Symposium on Principles of Database Systems, Nashville, Tennessee, 1990.
Cart, M. and Ferrie, J. Integrating concurrency control into an object-oriented database system.Second International Conference on Extending Database Technology, Venice, 1990.
Copeland, G. and Keller, T. A. comparison of high-availability media recovery techniques.ACM SIGMOD International Conference on the Management of Data, Portland, 1989.
Crus, R.A. Data recovery in IBM database 2,IBM Systems Journal, 23(2):178–188, 1984.
Curtis, R.B. Informix-Turbo,IEEE COMPCON, San Francisco, 1988.
DeWitt, D.J., Futtersack, P., Maier, D., and Velez, F. A study of three alternative workstation-server architectures for object oriented database systemsInternational Conference on Very Large Data Bases, Brisbane, 1990.
DeWitt, D.J. and Gray, J. Parallel database systems: The future of high performance database systems.Communications of the ACM, 35(6):85–98, 1992.
Duppel, N., Peinl, P., Reuter, A., Schiele, G., and Zeller, H.Progress report #2 of PROSPECT. Department of Computer Science, University of Stuttgart, 1987.
Elhardt, K. and Bayer, R. A database cache for high performance and fast restart in database systems.ACM Transactions on Database Systems, 9(4):503–525, 1984.
Fekete, A., Lynch, N., Merritt, M., and Weihl, W. Commutativity-based locking for nested transactions, Technical Report MIT/LCS/TM-370, MIT, Cambridge, Mass., 1988.
Garcia-Molina, H. Using semantic knowledge for transaction processing in a distributed database.ACM Transactions on Database Systems, 8(2):186–213, 1983.
Garcia-Molina, H. and Salem, K. Sagas.ACM SIGMOD International Conference on the Management of Data, San Francisco, 1987.
Garza, J. and Kim, W. Transaction management in an object-oriented database system.ACM SIGMOD International Conference on the Management of Data, Chicago, 1988.
Gawlick, D. and Kinkade, D. Varieties of concurrency control in IMS/VS fast path.IEEE Database Engineering, 8(2):3–10, 1985.
Gibson, G.A.,Redundant Disk Arrays: Reliable, Parallel Secondary Storage, New York: ACM Press, 1992.
Graefe, G. and Thakkar, S.S. Tuning a parallel database system on a shared-memory multiprocessor.Software: Practice and Experience, 22(7):495 ff, 1992.
Graunke, G. and Thakkar, S. Synchronization algorithms for shared-memory multiprocessors.IEEE Computer 23(6):60–69, 1990.
Gray, J. Notes on Database Operating Systems, In: Bayer, R., Graham, R., and Seegmueller, G. eds.,Operating Systems: An Advance Course, Berlin: Springer, 1978.
Gray, J., McJones, P., Blasgen, M., Lindsay, B., Lorie, R., Price, T., Putzolu, F., and Traiger, I. The recovery manager of the system R database manager.ACM Computing Surveys, 13(2):223–242, 1981.
Gray, J. and Reuter, A.Transaction Processing: Concepts and Techniques, City?: Morgan Kaufmann, 1993.
Hadzilacos, T. and Hadzilacos, V. Transaction synchronization in object bases.ACM International Symposium on Principles of Database Systems, Austin., Texas, 1988.
Haerder, T. and Reuter, A. Principles of transaction-oriented database recovery.ACM Computing Surveys, 15(4):287–317, 1983.
Haerder, T. On selected performance issues of database systems.Fourth German Conference on Performance Modeling of Computing Systems, Erlangen, Germany, 1987.
Haerder, T., Schoening, H., and Sikeler, A. Parallel query evaluation: A new approach to complex object processing.IEEE Data Engineering, 12(1):23–29, 1989.
Haerder, T., Profit, M., and Schoening, H. Supporting parallelism in engineering databases by nested transactions. Technical Report 34/92, SFB 124, Department of Computer Science, University of Kaiserslautern, Germany, 1992.
Hasse, C. and Weikum, G. A performance evaluation of multi-level transaction management.International Conference on Very Large Data Bases, Barcelona, Spain, 1991.
Helland, P., Sammer, H., Lyon, J., Carr, R., Garrett, P., and Reuter, A. Group commit timers and high volume transaction systems.Second International Workshop on High Performance Transaction Systems, Pacific Grove, California, 1987.
Herrmann, U., Dadam, P., Kuespert, K., Roman, E.A., and Schlageter, G. A lock technique for disjoint and non-disjoint complex objects.Second International Conference on Extending Database Technology, Venice, Italy, 1990.
Hudson, S.E. and King, R. Cactis: A self-adaptive, concurrent implementation of an object-oriented database management system.ACM Transactions on Database Systems, 14(3):291–321, 1989.
Iochpe, C. Database recovery in the design environment: Requirements analysis and performance evaluation. Ph.D. Thesis, Department of Computer Science, University of Karlsruhe, Germany, 1989.
Joshi, A.M. Adaptive locking strategles in a multi-node data sharing environment.International Conference on Very Large Data Bases, Barcelona, Spain, 1991.
King, R.P., Halim, N., Garcia-Molina, H., and Polyzois, C.A., Management of a remote backup copy for disaster recovery.ACM Transactions on Database Systems, 16(2):338–368, 1991.
Korth, H.F., Levy, E., and Silberschatz, A. Compensating transactions: A new recovery paradigm.International Conference on Very Large Data Bases, Brisbane, Australia, 1990.
Lindsay, B., Selinger, P.G., Galteri, C., Gray, J.N., Lorie, R.A., Price, T.G., Putzolu, F., and Wade, B.W. Notes on Distributed Databases. IBM Research Report RJ2571, San Jose, California, 1979.
Lomet, D.B., MLR: A recovery method for multi-level systems.ACM SIGMOD International Conference on the Management of Data, San Diego, California, 1992.
Martin, B.E. Modeling concurrent activities with nested objects.International Conference on Distributed Computing Systems, Berlin, 1987.
Moenkeberg, A. and Weikum, G. Conflict-driven load control for the avoidance of data-contention thrashing.IEEE International Conference on Data Engineering, Kobe, Japan, 1991.
Moenkeberg, A. and Weikum, G. Performance analysis of an adaptive and robust load control method for the avoidance of data-contention thrashing.,International Conference on Very Large Data Bases, Vancouver, Canada, 1992.
Mohan, C. and Pirahesh, H. ARIES-RRH: Restricted repeating of history in the ARIES transaction recovery method.IEEE International Conference on Data Engineering, Kobe, Japan, 1991.
Mohan, C., Haderle, D., Lindsay, B., Pirahesh, H., and Schwarz P. ARIES: A transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging.ACM Transactions on Database Systems, 17(1):94–162, 1992.
Mohan, C. and Levine, F. ARIES/IM: An efficient and high concurrency index management method using write-ahead logging.ACM SIGMOD International Conference on the Management of Data San Diego, California, 1992.
Moss, J.E.B.,Nested Transactions: An Approach to Reliable Distributed Computing, Cambridge, Massachusetts: MIT Press, 1985.
Moss, J.E.B., Griffeth, N.D., and Graham, M.H. Abstraction in recovery management.ACM SIGMOD International Conference on the Management of Data, Washington, DC, 1986.
Moss, J.E.B., Leban, B., and Chrysanthis, P.K. Finer grained concurrency for the database cache.IEEE International Conference on Data Engineering, Los Angeles, 1987.
Murphy, M.C., and Shan, M.-C. Exccution plan balancing.IEEE International Conference on Data Engineering, Kobe, Japan, 1991.
Muth, P. and Rakow, T. Atomic commitment for integrated database systems.IEEE International Conference on Data Engineering, Kobe, Japan, 1991.
Muth, P., Rakow, T., Weikum, G., Broessler, P., and Hasse, C. Semantic concurrency control in object-oriented database systems.IEEE International Conference on Data Engineering, Vienna, 1993.
O'Neil, P.E. The escrow transactional method.ACM Transactions on Database Systems, 11(4):405–430, 1986.
Ong, K.S. Synapse approach to database recovery.International Symposium on Principles of Database Systems, Waterloo, Canada, 1984.
Patterson, D.A., Gibson, G., and Katz, R.H. A case for redundant arrays of inexpensive disks (RAID).ACM SIGMOD International Conference on the Management of Data, Chicago, 1988.
Pirahesh, H., Mohan, C., Cheng, J., Liu, T.S., and Selinger, P. Parallelism in relational database systems Architectural issues and design approaches.Second International Symposium on Databases in Parallel and Distributed Systems, Dublin, Ireland, 1990.
Rakow, T.C., Gu, J., and Neuhold, E.J. Serializability in object-oriented database systems.IEEE International Conference on Data Engineering, Los Angeles 1990.
Schek, H.-J., Paul, H.-B., Scholl, M.H., and Weikum, G. The DASDBS project: Objectives, experiences, and future prospects.IEEE Transactions on Knowledge and Data Engineering, 2(1):25–43, 1990.
Schwarz, P.M. and Spector, A.Z. Synchronizing shared abstract types.ACM Transactions on Computer Systems 2(3):223–251, 1984.
Seltzer, M. and Stonebraker, M. Transaction support in read optimized and write optimized file systems.International Conference on Very Large Data Bases, Brisbane, Australia, 1990.
Shasha, D. What good are concurrent search structure algorithms for databases anyway?IEEE Database Engineering, 8(2):84–90, 1985.
Shasha, D. and Goodman, N. Concurrent search structure algorithms.ACM Transactions on Database Systems, 13(1):53–90, 1988.
Shrivastava, S.K., Dixon, G.N., and Parrington, G.D. An overview of the arjuna distributed programming system.IEEE Software, 8(1):66–73, 1991.
Skarra, A.H. and Zdonik, S.B. Concurrency control and object-oriented databases. In: Kim, W. and Lochovsky, F.H. eds.,Object-Oriented Concepts, Databases, and Applications. New York: ACM Press, 1989.
Thomasian, A. Two-phase locking performance and its thrashing behavior. To appear in:ACM Transactions on Database Systems, in press.
von Bueltzingsloewen, G., Iochpe, C., Liedtke, R.-P., Dittrich K.R., and Lockemann, P.C. Two-level transaction management in a multiprocessor database machine.Third International Conference on Data and Knowledge Bases, Jerusalem, 1988.
Weihl, W.E. Commutativity-based concurrency control for abstract data types.IEEE Transactions on Computers, 37(12):1488–1505, 1988.
Weihl, W.E. The impact of recovery on concurrency control.ACM International Symposium on Principles of Database Systems, Philadelphia, 1989.
Weikum, G. A theoretical foundation of multi-level concurrency control.ACM International Symposium on Principles of Database Systems, Cambridge, Massachussetts, 1986.
Weikum, G. Enhancing concurrency in layered systems.Second International Workshop on High Performance Transaction Systems, Pacific Grove, California, 1987.
Weikum, G., Hasse, C. Broessler, P., and Muth, P. Multi-level recovery.ACM International Symposium on Principles of Database Systems, Nashville, Tennessee, 1990.
Weikum, G., Principles and realization strategies of multilevel transaction management.ACM Transactions on Database Systems, 16(1):132–180, 1991.
Weikum, G. and Schek, H.-J. Architectural issues of transaction management in layered systems.International Conference on Very Large Data Bases, Singapore, 1984.
Weikum, G. and Schek, H.-J. Multi-level transactions and open-nested transactions.IEEE Data Engineering, 14(1):60–64, 1991.
Weikum, G. and Schek, H.-J. Concepts and applications of multilevel transactions and open-nested transactions. In: Elmagarmid, A.K., ed.,Database Transaction Models for Advanced Applications, San Mateo, California: Morgan Kaufmann, 1992.
Weikum, G., Hasse, C., Moenkeberg, A., Rys, M., and Zabback, P. The COMFORT project (Project Synopsis).Second International Conference on Parallel and Distributed Information Systems, San Diego, California, 1993.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Weikum, G., Hasse, C. Multi-level transaction management for complex objects: Implementation, performance, parallelism. VLDB Journal 2, 407–453 (1993). https://doi.org/10.1007/BF01263047
Received:
Revised:
Accepted:
Issue Date:
DOI: https://doi.org/10.1007/BF01263047