Flexible Transaction Dependencies in Database Systems

  • Authors:
  • Luigi V. Mancini;Indrajit Ray;Sushil Jajodia;Elisa Bertino

  • Affiliations:
  • Dipartimento di Scienze dell'Informazione, Università di Roma “La Sapienza”, Rome, Italy. mancini@dsi.uniroma1.it;Department of Computer and Information Science, University of Michigan-Dearborn, Dearborn MI 48128, USA. indrajit@umich.edu;Department of Information and Software Engineering, George Mason University, Fairfax, VA 22030-4444, USA. jajodia@gmu.edu;Dipartimento di Scienze dell'Informazione, Università di Milano, Milano, Italy. bertino@dsi.unimi.it

  • Venue:
  • Distributed and Parallel Databases
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

Numerous extended transaction models have been proposed in the literature to overcome the limitations of the traditional transaction model for advanced applications characterized by their long durations, cooperation between activities and access to multiple databases (like CAD/CAM and office automation). However, most of these extended models have been proposed with specific applications in mind and almost always fail to support applications with slightly different requirements.We propose the Multiform Transaction model to overcome this limitation. The multiform transaction model supports a variety of other extended transaction models. A multiform transaction consists of a set of component transactions together with a set of coordinators which specify the transaction completion dependencies among the component transactions. A set of transaction primitives allow the programmer to define custom completion dependencies. We show how a wide range of extended transactions can be implemented as multiform transactions, including sagas, transactional workflows, nested transactions, and contingent transactions. We allow the programmers to define their own primitives—having very well-defined interfaces—so that application specific transaction models like distributed multilevel secure transactions can also be supported.