Cooperative transaction hierarchies: a transaction model to support design applications
Marian H. Nodine, Stanley B. Zdonik · Very Large Data Bases · 1990
Traditional atomic and nested transactions are not, always well-suited to cooperative applications. Cooperative applications place requirements on the database which may conflict with the serializability requirement. We define a new transaction framework, called a cooperative transaction hierarchy, which allows us to relax the requirement for atomic, serializable transactions. Each internal node (transaction group) in the transaction hierarchy can enforce its own constraints on how objects can be shared among its children (members). Patterns specify the constraints imposed on an operation history for it, to be correct. At a given node in the hiera.rchy, we use a type of augmented finite state automaton called an operation machine to enforce correctness. We provide intentions to manage the propagation of object copies and their associated privileges through the transaction hierarchy. We show that using intentions enforces that the overall history of the hierarchy is correct. Logs record the information required by the cooperative transaction hierarchy for recovery. We specify what must be logged for each transaction group, which includes information about the transaction group’s execution and about the dependencies among operations in that execution. Finally, we show how to use cooperative transaction hierarchies to enforce multilevel atomicity [Lyn83]. t Support for this research is provided by IBM under contract No. 559716, by DEC under award No. DEC686, by ONR under Contract N00014-83-I gi\cn that copying is by permission of the Very Large Data Base Endowment. To copy otherwise. or to rcpuhli~h. rcquircs a fee and/or special permission from the Endowment. Proceedings of the 16th VLDB Conference Brisbane. Australia 1990