Transaction decomposition using transaction semantics

AbstractSerializability has been widely accepted as the correctness criterion for databases subject to concurrent access. However, in a number of the newer and most challenging application areas, serializable execution may not be feasible.• Serializable execution is generally implemented using a two-phase locking algorithm that locks items in the database to delay transactions that are in danger of performing in a non-serializable fashion. Such delays are unacceptable in high performance database systems that must process hundreds, and perhaps thousands, of transactions per second and in systems supporting long-running transactions.• In systems in which data is distributed across a federated database, a global transaction is decomposed into a set of local subtransactions executed at a subset of the sites. Serializable execution in such systems not only incurs a performance penalty, but also requires the component systems to cooperate (for example in a two phase commit protocol), with a resulting loss of site autonomy. In many applications, the component systems either can not or will not agree to the required cooperation. A number of models have recently been proposed in which transactions are decomposed into smaller, atomic, interleavable steps. These models have the potential for improving performance since locks are released at the end of each step. Models of distributed transactions have also been proposed with the similarity that subtransactions correspond to steps. In most of this work serializability is no longer guaranteed.In this paper we propose a new, application-oriented, correctness criterion that utilizes transaction semantics. We treat transactions as programs whose semantics can be analyzed at design time. The effect of each transaction is specified using pre- and postconditions, and any schedule that preserves these conditions is permissible. Such schedules can produce database states that could not be reached by any serial execution. In addressing the issue of performance, we use transaction semantics to decompose transactions into steps and describe a concurrency control that controls step interleaving in such a way that assertions are preserved. The same model can be used to study the interleaving of subtransactions of concurrent distributed transactions.

[1]  C. A. R. HOARE,et al.  An axiomatic basis for computer programming , 1969, CACM.

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

[3]  M. Tamer Özsu,et al.  Using semantic knowledge of transactions to increase concurrency , 1989, TODS.

[4]  Matthias Nussbaum Database Transaction Models for Advanced Applications , 1992 .

[5]  Charles T. Davies,et al.  Data Processing Spheres of Control , 1978, IBM Syst. J..

[6]  C.M. Eastman Database facilities for engineering design , 1981, Proceedings of the IEEE.

[7]  Paul G. Spirakis,et al.  A semantic approach to correctness of concurrent transaction executions , 2015, PODS '85.

[8]  Amit P. Sheth,et al.  Bounding the effects of compensation under relaxed multi-level serializability , 2004, Distributed and Parallel Databases.

[9]  Abraham Silberschatz,et al.  An optimistic commit protocol for distributed transaction management , 1991, SIGMOD '91.

[10]  Ambuj K. Singh,et al.  Consistency and orderability: semantics-based correctness criteria for databases , 1993, TODS.

[11]  J. Davenport Editor , 1960 .

[12]  Arthur J. Bernstein,et al.  Concurrency in programming and database systems , 1993 .

[13]  Panos K. Chrysanthis,et al.  ACTA: The SAGA Continues , 1992, Database Transaction Models for Advanced Applications.

[14]  Abraham Silberschatz,et al.  A theory of relaxed atomicity (extended abstract) , 1991, PODC '91.

[15]  Amit P. Sheth,et al.  Using Polytransactions to Manage Interdependent Data , 1992, Database Transaction Models for Advanced Applications.

[16]  David W. Stemple,et al.  On the modes and meaning of feedback to transaction designers , 1987, SIGMOD '87.

[17]  Gail E. Kaiser,et al.  Concurrency control in advanced database applications , 1991, CSUR.

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

[19]  Lui Sha,et al.  Modular Concurrency Control and Failure Recovery , 1988, IEEE Trans. Computers.

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

[21]  Won Kim,et al.  On Long-Duration CAD Transactions , 1989, Inf. Sci..

[22]  Erich J. Neuhold,et al.  A Transaction Model for an Open Publication Environment , 1991 .

[23]  Nancy A. Lynch,et al.  Multilevel atomicity—a new correctness criterion for database concurrency control , 1983, TODS.

[24]  Rajeev Rastogi,et al.  On correctness of non-serializable executions , 1993, PODS '93.

[25]  Sridhar Ramaswamy,et al.  A Cooperative Transaction Model for Design Databases , 1992, Database Transaction Models for Advanced Applications.

[26]  Alejandro P. Buchmann,et al.  A Transaction Model for Active Distributed Object Systems , 1992, Database Transaction Models for Advanced Applications.

[27]  Gail E. Kaiser,et al.  A flexible transaction model for software engineering , 1990, [1990] Proceedings. Sixth International Conference on Data Engineering.

[28]  Won Kim,et al.  A Model of CAD Transactions , 1985, VLDB.

[29]  B. R. Badrinath,et al.  Semantics-based concurrency control: Beyond commutativity , 1987, 1987 IEEE Third International Conference on Data Engineering.

[30]  A. Elmagarmid Database transaction models for advanced applications , 1992 .

[31]  Maurice Herlihy,et al.  Apologizing versus asking permission: optimistic concurrency control for abstract data types , 1990, TODS.

[32]  Susan Owicki,et al.  An axiomatic proof technique for parallel programs I , 1976, Acta Informatica.

[33]  Ahmed K. Elmagarmid,et al.  Multidatabase Transaction and Query Processing in Logic , 1992, Database Transaction Models for Advanced Applications.

[34]  Henry F. Korth,et al.  Formal model of correctness without serializabilty , 1988, SIGMOD '88.

[35]  Patrick Valduriez,et al.  Simple rational guidance for chopping up transactions , 1992, SIGMOD '92.

[36]  William E. Weihl,et al.  Commutativity-based concurrency control for abstract data types , 1988, [1988] Proceedings of the Twenty-First Annual Hawaii International Conference on System Sciences. Volume II: Software track.

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