On correctness of non-serializable executions

In the standard transaction model, a consistent database state is implicitly defined by assuming that each transaction, when executed in isolation, maps a consistent database state to another consistent database state. In the case of concurrent transaction executions, database consistency is ensured by requiring that the schedule resulting from the concurrent execution of transactions be serializable; that is, equivalent to a serial schedule. Serializability, however, may be too strong a correctness criterion for many applications. In this paper, we develop a theory of non-serializable schedules that preserve database consistency. The cornerstone of our theory is the notion of integrity constraints, in terms of which integrity constraints are defined.

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

[2]  Rajeev Rastogi,et al.  Non-serializable executions in heterogeneous distributed database systems , 1991, [1991] Proceedings of the First International Conference on Parallel and Distributed Information Systems.

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

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

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

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

[7]  Panos K. Chrysanthis,et al.  Extracting concurrency from objects: a methodology , 1991, SIGMOD '91.

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

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

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

[11]  Krzysztof R. Apt,et al.  Introduction to Logic Programming , 1988 .