Nested Transactions with Integrity Constraints

This paper presents a solution to check integrity constraints in database systems supporting nested transactions. Using nested transactions allows to introduce parallelism inside a transaction and to partially recover failing transactions by defining a hierarchy of sub-transactions. If a constraint is violated by some sub-transactions, it is possible to reach the validation of the nested transaction, even if some part of it had to be aborted. In our solution, (i) only constraints that might be violated are checked, (ii) constraints are checked as soon as possible during the execution of the nested transaction and (iii) as few sub-transactions as possible are aborted. We do not interfere with the execution control of nested transactions and users do not have to add any control code in the definition of constraints or of transactions. The main idea of our solution is to attach the checking of a constraint to the smallest common ancestor of the sub-transactions which could violate the constraint.

[1]  Henry F. Korth,et al.  Formal aspects of concurrency control in long-duration transaction systems using the NT/PV model , 1994, TODS.

[2]  Gerhard Weikum,et al.  A theoretical foundation of multi-level concurrency control , 1985, PODS.

[3]  Letizia Tanca,et al.  Automatic generation of production rules for integrity maintenance , 1994, TODS.

[4]  A. Elmagarmid Database transaction models for advanced applications , 1992 .

[5]  Hervé Martin,et al.  Integrity checking for nested transactions , 1996, Proceedings of 7th International Conference and Workshop on Database and Expert Systems Applications: DEXA 96.

[6]  Philip A. Bernstein,et al.  Principles of transaction processing: for the systems professional , 1996 .

[7]  Anne Doucet,et al.  Integrity Constraints in Multiversion Databases , 1996, BNCOD.

[8]  Lily B. Mummert,et al.  Camelot and Avalon: A Distributed Transaction Facility , 1991 .

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

[10]  Gunter Saake,et al.  Analyzing and Formalizing Dependencies in Generalized Transaction Structures , 1998, IADT.

[11]  Panos K. Chrysanthis,et al.  ACTA: a framework for specifying and reasoning about transaction structure and behavior , 1990, SIGMOD '90.

[12]  Jim Gray,et al.  The Transaction Concept: Virtues and Limitations (Invited Paper) , 1981, VLDB.

[13]  Andreas Reuter,et al.  Transaction Processing: Concepts and Techniques , 1992 .

[14]  Jennifer Widom,et al.  Active Database Systems: Triggers and Rules For Advanced Database Processing , 1994 .

[15]  Pierre-Yves Policella Coherence dans les bases de donnees orientees objet , 1996 .

[16]  Panos K. Chrysanthis,et al.  Synthesis of extended transaction models using ACTA , 1994, TODS.

[17]  卢煜海,et al.  Sybase SQL Server索引的使用和优化 , 2000 .

[18]  Barbara Liskov,et al.  Distributed programming in Argus , 1988, CACM.

[19]  Tomasz Imielinski,et al.  Integrity checking for multiple updates , 1985, SIGMOD '85.

[20]  Paul W. P. J. Grefen,et al.  Integrity Control in Relational Database Systems - An Overview , 1993, Data Knowl. Eng..

[21]  Andreas Reuter,et al.  The ConTract Model , 1991, Database Transaction Models for Advanced Applications.

[22]  Sanjay Kumar Madria,et al.  A Study of the Concurrency Control and Recovery Algorithms in Nested Transaction Environment , 1997, Comput. J..

[23]  Matthias Nussbaum Database Transaction Models for Advanced Applications , 1992 .

[24]  Ian Stevenson,et al.  Oracle8 Design Tips , 1997 .

[25]  H. V. Jagadish,et al.  Integrity Maintenance in Object-Oriented Databases , 1992, VLDB.

[26]  Umeshwar Dayal,et al.  A Transactional Model for Long-Running Activities , 1991, VLDB.

[27]  Hans-Jörg Schek,et al.  Concepts and Applications of Multilevel Transactions and Open Nested Transactions , 1992, Database Transaction Models for Advanced Applications.

[28]  J. Eliot B. Moss,et al.  Log-Based Recovery for Nested Transactions , 1987, VLDB.

[29]  Stephan Philippi,et al.  DICE: Declarative Integrity Constraint Embedding Into the Object Database Standard ODMG-93 , 1997, Data Knowl. Eng..

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

[31]  David W. Stemple,et al.  Automatic verification of database transaction safety , 1989, ACM Trans. Database Syst..

[32]  Jennifer Widom,et al.  Deriving Production Rules for Constraint Maintainance , 1990, VLDB.

[33]  Jim Gray,et al.  The Transaction Concept: Virtues and Limitations (Invited Paper) , 1981, VLDB.

[34]  Paul W. P. J. Grefen,et al.  An Architecture for Nested Transaction Support on Standard Database Systems , 1998, DEXA.

[35]  Jennifer Widom,et al.  Local verification of global integrity constraints in distributed databases , 1993, SIGMOD '93.