A Flexible and Adapable Tool Kit Approach for Transaction Management in Non Standard Database Systems (original) (raw)

Transaction decomposition using transaction semantics

Distributed and parallel databases, 1996

Serializability 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.

A concurrency control protocol for nested transactions

Proceedings of the 1992 Conference of the Centre For Advanced Studies on Collaborative Research Volume 2, 1992

Nested transactions[6, 5] provide fine grain atomicity, efficient recovery control, and structural modularity. In distributed environments, they provid e a natural and semantically clean way of modelin g computations. However, the characteristics of nested transactions are sufficiently different from those o f traditional single-level transactions that concurrenc y control for nested transactions should be reconsidere d in order to exploit all its advantages. In this paper, we investigate a new concurrenc y control protocol for nested transactions, and introduc e the notion of a request list for that purpose. Our objectives are to provide shorter transaction turn-aroun d times and better system throughput. These goals are accomplished by exploiting intra-transaction concurrency and by reducing the time a transaction has t o wait for consistent data states .

A trace semantics for long-running transactions

A long-running transaction is an interactive component of a distributed system which must be executed as if it were a single atomic action. In principle, it should not be interrupted or fail in the middle, and it must not be interleaved with other atomic actions of other concurrently executing components of the system. In practice, the illusion of atomicity for a long-running transaction is achieved with the aid of compensation actions supplied by the original programmer: because the transaction is interactive, familiar automatic techniques of check-pointing and rollback are no longer adequate. This paper constructs a model of long-running transactions within the framework of the CSP process algebra, showing how the compensations are orchestrated to achieve the illusion of atomicity. It introduces a method for declaring that a process is a transaction, and for declaring a compensation for it in case it needs to be rolled back after it has committed. The familiar operator of sequential composition is redefined to ensure that all necessary compensations will be called in the right order if a later failure makes this necessary. The techniques are designed to work well in a highly concurrent and distributed setting. In addition we define an angelic choice operation, implemented by speculative execution of alternatives; its judicious use can improve responsiveness of a system in the face of the unpredictable latencies of remote communication. Many of the familiar properties of process algebra are preserved by these new definitions, on reasonable assumptions of the correctness and independence of the programmer-declared compensations.

A Concurrency Control Algorithm for an Open and Safe Nested Transaction Model: Formalization and Correctness

2003

In this paper, we formalize and prove the correctness of a concurrency control algorithm for an open and safe nested transaction using I/O automaton model. The model uses the notion of a recovery point subtransaction in the nested transaction tree. Our nested transaction model uses a prewrite operation before an actual write operation to increase the concurrency. It is termed "open and safe" as prewrites allow early reads (before database writes on disk) without cascading aborts. In our model we have also modeled the buffer management operations as nested transactions, and the concurrency control algorithm controls their executions. Non-access subtransactions, objects and the scheduler are modeled as I/O automata with the help of some pre and post conditions. These conditions capture the operational semantics and behavior of each automaton during the execution of transactions. While modeling we also take into account log activities, which occur during the execution of transactions. We also briefly sketch the recovery algorithm. The correctness proof shows that the concurrency control algorithm for our model is serially correct. Our proof makes use of assertional reasoning and provides many interesting invariant, thus gives a better understanding of our transaction model and the concurrency control algorithm. While proving correctness, we mapped our system to that of Moss's two phase locking system to show the relationships between the two algorithms.

ARIES/NT: A Recovery Method Based on Write-Ahead Logging for Nested Transactions

Proceedings of the 15th International Conference on Very Large Data Bases, 1989

A simple and efficient recovery method for nested transact.ions, called ARIES/NT (Algorithm for Recovery and Isolation Exploiting Semantics for Nested 'I'ransactions), that uses wrile-ahead logging and supports semantically-rich modes of locking and operation logging is presented. 'I'his method applies to a very general model of nested transactions, which includes parlial rollbacks of subtransactions, upward and downward inheritance of locks, and concurrent execution of ancestor and descendent subtransactions. The adopted syslem nrchit.cclure encompasses aspects of distributed data base management also. ARIES/NT is an extension of the ARIES recovery and concurrency control method developed recently for the single-level transaction model by Mohan. et. al. in the IBM Research Report RJ6649. Amsterdam, 1989

Open Nested Transactions: Semantics and Support

2006

We describe semantics for serializable (safe) open nested transactions. Given these semantics, we then suggest hardware necessary to support them directly. We further consider some useful, but not serializable, applications for open nesting, and their hardware implications. We focus primarily on linear nesting, which we previously argued to be more amenable to hardware support than the general case.

An open and safe nested transaction model: concurrency and recovery

Journal of Systems and Software, 2000

In this paper, we present an open and safe nested transaction model. We discuss the concurrency control and recovery algorithms for our model. Our nested transaction model uses the notion of a recovery point subtransaction in the nested transaction tree. It incorporates a prewrite operation before each write operation to increase the potential concurrency. Our transaction model is termed``open and safe'' as prewrites allow early reads (before writes are performed on disk) without cascading aborts. The systems restart and buer management operations are also modeled as nested transactions to exploit possible concurrency during restart. The concurrency control algorithm proposed for database operations is also used to control concurrent recovery operations. We have given a snapshot of complete transaction processing, data structures involved and, building the restart state in case of crash recovery. Ó

Consistent Checkpointing for Transaction Systems

The Computer Journal, 2001

Whether it is for audit or for recovery purposes, data checkpointing is an important problem of transaction systems. Actually, transactions establish dependence relations on data checkpoints taken by data object managers. So, given an arbitrary set of data checkpoints (including at least a single data checkpoint from a data manager, and at most a data checkpoint from each data manager), an important question is the following one: \Can these data checkpoints be members of a same consistent global checkpoint?". This paper answers this question by providing a necessary and su cient condition suited to transaction systems. Moreover, to show its usefulness, two non-intrusive data checkpointing protocols are designed from this condition.