Contraintes d'intégrité et transactions imbriquées

C. P. Leon Luna

LIP6 2001/029: THÈSE de DOCTORAT de l'UNIVERSITÉ PARIS 6 LIP6 / LIP6 research reports
72 pages - Juillet/July 2001 - French document.

Get it : 509 Ko /Kb

Contact : par mail / e-mail

Thème/Team: Objets et Agents pour Systèmes d'Information et de Simulation

Titre français : Contraintes d'intégrité et transactions imbriquées
Titre anglais : Integrity constraints and nested transactions


Résumé : Cette thèse de doctorat propose de nouveaux développements dans le contexte des transactions imbriquées. Parmi les modèles de transactions avancées, les transactions imbriquées constituent sans doute le modèle le plus connu et le plus souvent utilisé. Ce modèle permet de décomposer une transaction en une hiérarchie de sous-transactions pouvant s'exécuter en parallèle, chacune constituant une unité de reprise après défaillance.
La première partie consiste en l'évaluation d'un système qui supporte des transactions imbriquées, dans le but d'étudier son comportement dans les systèmes répartis.
La seconde partie étudie le problème de la vérification de contraintes pour des transactions imbriquées. Cette étude est faite dans un premier temps en considérant une base de données centralisée. Dans ce cadre, l'idée principale est d'associer le contrôle d'une contrainte au plus petit ancêtre commun des transactions feuilles qui touchent la contrainte. Cette solution intègre le contrôle d'exécution des transactions imbriquées avec la capacité de vérifier des contraintes d'intégrité aussitôt que possible pendant l'exécution d'une transaction. Cette solution a été mise en oeuvre dans un prototype. Dans un second temps nous avons adapté cette approche à un environnement multibase : à l'aide d'une typologie, nous avons établi des stratégies différentes de vérification en fonction de la nature des contraintes et de la structure des transactions. La solution proposée dans cette thèse ne perturbe pas le contrôle d'exécution des transactions imbriquées, ce qui la rend très flexible.
La transparence est fournie puisque les utilisateurs n'ont pas besoin d'ajouter de code de contrôle dans les définitions des contraintes ou des transactions.

Abstract : Among the advanced transaction models, nested transactions are without doubt the most known and used. This model allows to decompose a transaction into a hierarchy of sub-transactions, which may be executed in parallel. This hierarchy can be of an arbitrary depth. This PhD thesis proposes solutions in the context of nested transactions. On one hand, we evaluate a system that supports nested transactions, in order to study the behavior of nested transactions in distributed systems. On the other hand, we propose a innovating method to maintain integrity constraint in databases that support nested transactions. The key idea of our solution for the checking of integrity,constraints with nested transactions, is to associate the control of each constraint with the smallest common ancestor (in the nested transaction tree) of all sub-transactions that touch the constraint. Our solution has been implemented in a nested transaction manager prototype which integrates the constraint checking with the execution control. The proposal is extended to multi-databases. We establish different checking strategies according to the constraint nature and to the transaction structure. The main advantage of our solution is that it doesn't interfer with the nested transaction execution control, which makes it flexible and portable. Transparency is provided : users don't have to write any control code, neither in the transactions nor in constraint definitions.


Mots-clés : transactions imbriquées, contraintes d'intégrité, base de données orientées objet, systèmes distribués

Key-words : nested transactions, integrity constraints, object oriented databases, distributed systems


Publications internes LIP6 2001 / LIP6 research reports 2001

Responsable Éditorial / Editor :Stephane.Gancarski@lip6.fr