Applying formal methods to semantic-based decomposition of transactions

In some database applications the traditional approach of seerializability, in which transactions appear to execute atomically and in isolation on a consistent database state, fails to satisfy performance requirements. Although many researchers have investigated the process of decomposing transactions into steps to increase concurrency, such research typically focuses on providing algorithms necessary to implement a decomposition supplied by the database application developer and pays relatively little attention to what constitutess a desirable decomposition or how the developer should obtain one. We focus onthe decomposition itself. A decomposition generates proof obligations whose descharge ensures desirable properties with respect to the original collection of transactions. We introduce the notion of semantic histories to formulate and prove the necessary properties, and the notion of successor sets to describe efficiently the correct interleavings of steps. The successor set constraints use information about conflicts between steps so as to take full advantage of conflict serializability at the level of steps. We propose a mechanism based on two-phase locking to generate correct stepwise serializable histories.

[1]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

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

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

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

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

[6]  Henry F. Korth,et al.  Formal aspects of concurrency control in long-duration transaction systems using the NT/PV model , 1994, TODS.

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

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

[9]  Ramez Elmasri,et al.  Fundamentals of Database Systems , 1989 .

[10]  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.

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

[12]  Anish Arora,et al.  Designing masking fault-tolerance via nonmasking fault-tolerance , 1995, Proceedings. 14th Symposium on Reliable Distributed Systems.

[13]  Maurice Herlihy Extending Multiversion Time-Stamping Protocols to Exploit Type Information , 1987, IEEE Transactions on Computers.

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

[15]  Rajeev Rastogi,et al.  Exploiting transaction semantics in multidatabase systems , 1995, Proceedings of 15th International Conference on Distributed Computing Systems.

[16]  Helmut Thoma,et al.  Buchbesprechung: Elmasri, Ramez; Navathe, Shamkant B.: Fundamentals of Database Systems, Benjamin/Cummings, 1989 , 1991, Datenbank Rundbr..

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

[18]  Sushil Jajodia,et al.  Using Formal Methods to Reason about Semantics-Based Decompositions of Transactions , 1995, VLDB.

[19]  Butler W. Lampson,et al.  Atomic Transactions , 1980, Advanced Course: Distributed Systems.

[20]  William E. Weihl,et al.  SPECIFICATION AND IMPLEMENTATION OF ATOMIC DATA TYPES , 1984 .

[21]  Jan Madey,et al.  The Z notation: A reference manual , 1990 .

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

[23]  Maurice Herlihy,et al.  Hybrid Concurrency Control for Abstract Data Types , 1991, J. Comput. Syst. Sci..

[24]  Weimin Du,et al.  Quasi Serializability: a Correctness Criterion for Global Concurrency Control in InterBase , 1989, VLDB.

[25]  Jane Sinclair,et al.  Introduction to formal specification and Z , 1991, Prentice Hall International Series in Computer Science.

[26]  Panos K. Chrysanthis,et al.  Synthesis of extended transaction models using ACTA , 1994, TODS.

[27]  Sushil Jajodia,et al.  Mutual consistency in decentralized distributed systems , 1987, 1987 IEEE Third International Conference on Data Engineering.

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

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

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

[31]  Maurice Herlihy,et al.  Hybrid concurrency control for abstract data types , 1988, PODS '88.