Proclamation-Based Model for Cooperating Transactions

We propose a transaction model that provides a framework for transactions to cooperate without sacrificing serializability as a notion of correctness. Cooperation does not depend on detailed knowledge of the semantics of transaction operations. Semantic properties such as data dependent commutativity can be “discovered” automatically at run time without a need to declare these properties explicitly. When transactions wish to cooperate, they do so by issuing “proclamations”. A proclamation is an (implicitly or explicitly specified) set of values, one of which the transaction “promises” to write if it commits. So, a proclamation provides incomplete information concerning future possible database states. Transactions can compute with this incomplete information, and can commit after writing conditional multivalues. We examine the theoretical basis for the proclamation model. We outline an implementation strategy for the model, including a simple lock-based transaction manager and a transaction compiler extension to handle sets of values.

[1]  Roy H. Campbell,et al.  The specification of process synchronization by path expressions , 1974, Symposium on Operating Systems.

[2]  Philip A. Bernstein,et al.  Categories and Subject Descriptors: H.2.4 [Database Management]: Systems. , 2022 .

[3]  Rudolf Bayer,et al.  Parallelism and recovery in database systems , 1980, TODS.

[4]  Narain H. Gehani,et al.  ODE (Object Database and Environment): the language and the data model , 1989, SIGMOD '89.

[5]  Patrick E. O'Neil,et al.  The Escrow transactional method , 1986, TODS.

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

[7]  J. T. Robinson,et al.  On optimistic methods for concurrency control , 1979, TODS.

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

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

[10]  Stanley B. Zdonik,et al.  Cooperative Transaction Hierarchies: A Transaction Model to Support Design Applications , 1990, VLDB.

[11]  A. H. Skarra Concurrency control for cooperating transactions in an object-oriented database , 1988, OOPSLA/ECOOP '88.

[12]  Irving L. Traiger,et al.  Granularity of Locks and Degrees of Consistency in a Shared Data Base , 1998, IFIP Working Conference on Modelling in Data Base Management Systems.

[13]  Calton Pu,et al.  Split-Transactions for Open-Ended Activities , 1988, VLDB.

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

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