Formal model of correctness without serializabilty

In the classical approach to transaction processing, a concurrent execution is considered to be correct if it is equivalent to a non-concurrent schedule. This notion of correctness is called serializability. Serializability has proven to be a highly useful concept for transaction systems for data-processing style applications. Recent interest in applying database concepts to applications in computer-aided design, office information systems, etc. has resulted in transactions of relatively long duration. For such transactions, there are serious consequences to requiring serializability as the notion of correctness. Specifically, such systems either impose long-duration waits or require the abortion of long transactions. In this paper, we define a transaction model that allows for several alternative notions of correctness without the requirement of serializability. After introducing the model, we investigate classes of schedules for transactions. We show that these classes are richer than analogous classes under the classical model. Finally, we show the potential practicality of our model by describing protocols that permit a transaction manager to allow correct non-serializable executions

[1]  Henry F. Korth,et al.  Locking Primitives in a Database System , 1983, JACM.

[2]  Christos H. Papadimitriou,et al.  The Theory of Database Concurrency Control , 1986 .

[3]  Hans-Jörg Schek,et al.  Architectural Issues of Transaction Management in Multi-Layered Systems , 1984, VLDB.

[4]  Silvio Micali,et al.  Advances in Computing Research: The Theory of Databases , 1986 .

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

[6]  Won Kim,et al.  A Transaction Mechanism for Engineering Design Databases , 1984, VLDB.

[7]  Irving L. Traiger,et al.  The notions of consistency and predicate locks in a database system , 1976, CACM.

[8]  Nancy A. Lynch,et al.  Nested transactions and read-write locking , 1987, PODS '87.

[9]  Marc H. Graham,et al.  Abstraction in recovery management , 1986, SIGMOD '86.

[10]  Christos H. Papadimitriou,et al.  On Concurrency Control by Multiple Versions , 1982, TODS.

[11]  Barbara Liskov,et al.  Implementation of Argus , 1987, SOSP '87.

[12]  Mihalis Yannakakis,et al.  A Theory of Safe Locking Policies in Database Systems , 1982, JACM.

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

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

[15]  Nancy A. Lynch,et al.  Concurrency control for resilient nested transactions , 1983, PODS '83.

[16]  Catriel Beeri,et al.  A model for concurrency in nested transactions systems , 1989, JACM.

[17]  Mihalis Yannakakis Issues of correctness in database concurrency control by locking , 1981, STOC '81.

[18]  Christos H. Papadimitriou,et al.  The serializability of concurrent database updates , 1979, JACM.