Transactions and Database Dynamics

Federated transaction management (also known as multidatabase transaction management in the literature) is needed to ensure the consistency of data that is distributed across multiple, largely autonomous, and possibly heterogeneous component databases and accessed by both global and local transactions. While the global atomicity of such transactions can be enforced by using a standardized commit protocol like XA or its CORBA counterpart OTS, global serializability is not selfguaranteed as the underlying component systems may use a variety of potentially incompatible local concurrency control protocols. The problem of how to achieve global serializability, by either constraining the component systems or implementing additional global protocols at the federation level, has been intensively studied in the literature, but did not have much impact on the practical side. A major deficiency of the prior work has been that it focused on the idealized correctness criterion of serializability and disregarded the subtle but important variations of SQL isolation levels supported by most commercial database systems. This paper reconsiders the problem of federated transaction management, more specifically its concurrency control issues, with particular focus on isolation levels used in practice, especially the popular snapshot isolation provided by Oracle. As pointed out in a SIGMOD 1995 paper by Berenson et al., a rigorous foundation for reasoning about such concurrency control features of commercial systems is sorely missing. The current paper aims to close this gap by developing a formal framework that allows us to reason about local and global transaction executions where some (or all) transactions are running under snapshot isolation. The paper derives criteria and practical protocols for guaranteeing global snapshot isolation at the federation level. It further generalizes the well-known ticket method to cope with combinations of isolation levels in a federated system.

[1]  Gunter Saake,et al.  Evolving Logical Specification in Information Systems , 1998, Logics for Databases and Information Systems.

[2]  Jennifer Widom,et al.  Active Database Systems: Triggers and Rules For Advanced Database Processing , 1994 .

[3]  Pierre-Yves Policella Coherence dans les bases de donnees orientees objet , 1996 .

[4]  Jeffrey D. Ullman,et al.  Principles of Database and Knowledge-Base Systems, Volume II , 1988, Principles of computer science series.

[5]  Javier Pinto,et al.  Occurrences and Narratives as Constraints in the Branching Structure of the Situation Calculus , 1998, J. Log. Comput..

[6]  Martin Gogolla,et al.  Objects and their Specification , 1991, COMPASS/ADT.

[7]  Raymond Reiter,et al.  The Frame Problem in the Situation Calculus: A Simple Solution (Sometimes) and a Completeness Result for Goal Regression , 1991, Artificial and Mathematical Theory of Computation.

[8]  Andreas Reuter,et al.  The ConTract Model , 1991, Database Transaction Models for Advanced Applications.

[9]  Gunter Saake,et al.  Towards an Object Petri Nets Model for Specifying and Validating Distributed Information Systems , 1999, CAiSE.

[10]  Sanjay Kumar Madria,et al.  A Study of the Concurrency Control and Recovery Algorithms in Nested Transaction Environment , 1997, Comput. J..

[11]  Grit Denker From rewrite theories to temporal logic theories , 1998, WRLA.

[12]  Kurt Jensen High-Level Petri Nets , 1982, European Workshop on Applications and Theory of Petri Nets.

[13]  Narciso Martí-Oliet,et al.  Maude: specification and programming in rewriting logic , 2002, Theor. Comput. Sci..

[14]  David Garlan,et al.  A formal basis for architectural connection , 1997, TSEM.

[15]  Raymond Reiter,et al.  On Specifying Database Updates , 1995, J. Log. Program..

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

[17]  David W. Stemple,et al.  Automatic verification of database transaction safety , 1989, ACM Trans. Database Syst..

[18]  Jean-Pierre Jouannaud,et al.  Rewrite Systems , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[19]  Gunter Saake,et al.  Analyzing and Formalizing Dependencies in Generalized Transaction Structures , 1998, IADT.

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

[21]  Michael Thielscher,et al.  Ramification and Causality , 1997, Artif. Intell..

[22]  Amílcar Sernadas,et al.  Logics for Specifying Concurrent Information Systems , 1998, Logics for Databases and Information Systems.

[23]  José Meseguer,et al.  Conditioned Rewriting Logic as a United Model of Concurrency , 1992, Theor. Comput. Sci..

[24]  J. Eliot B. Moss,et al.  Log-Based Recovery for Nested Transactions , 1987, VLDB.

[25]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Specification 2 , 1990, EATCS Monographs on Theoretical Computer Science.

[26]  Hans-Jörg Schek,et al.  Concepts and Applications of Multilevel Transactions and Open Nested Transactions , 1992, Database Transaction Models for Advanced Applications.

[27]  Bernhard Thalheim,et al.  Limitations of Rule Triggering Systems for Integrity Maintenance in the Context of Transition Specifications , 1998, Acta Cybern..

[28]  Gunter Saake,et al.  Towards a New Semantics for Mondel Specifications Based on the CO-Net Approach , 1999, Modellierung.

[29]  Javier Pinto,et al.  Compiling Ramification Constraints into Effect Axioms , 1999, Comput. Intell..

[30]  José Meseguer,et al.  A logical theory of concurrent objects and its realization in the Maude language , 1993 .

[31]  Gunter Saake,et al.  TROLL: a language for object-oriented specification of information systems , 1996, TOIS.