Gestion des transactions Bachtarzi C Cours bases de données avancées Niveau Master SI Chapitre III Gestion des transactions III- -Dé ?nition Une transaction est une série d'opérations qui apparaissent sous la forme d'une large opération atomique Soit la t
Bachtarzi C Cours bases de données avancées Niveau Master SI Chapitre III Gestion des transactions III- -Dé ?nition Une transaction est une série d'opérations qui apparaissent sous la forme d'une large opération atomique Soit la transaction réussit soit elle échoue Exemple transfert de compte à compte bancaire on enlève sur un compte on dépose sur l'autre ? Dans la dé ?nition du langage SQL on peut la dé ?nir comme un ensemble d ? ordres SQL qui manipulent les données d ? une base de données cohérente et doivent restituer à la ?n une base dans un état cohérent Transaction début ? ordres SQL ?n III- - Caractéristiques d ? une transaction Propriétés d ? une transaction ACID III- - Atomicité La transaction est considérée comme un élément atomique c à d une fois lancée elle s ? exécute jusqu ? au bout ou pas du tout III- - Cohérence une transaction doit pouvoir manipuler des données cohérentes et assurer leur intégrité III- - Isolation si deux ou plusieurs transactions s ? exécutent simultanément il ne doit pas y avoir d ? interférence entre elles Leur exécution se fait comme si elles étaient lancées séquentiellement III- - Durabilité une panne du système ne doit pas in uer sur les résultats d ? une transaction qui s ? est exécutée normalement B D état cohérent Transaction B D état cohérent III- - Fin d ? une transaction une transaction a deux issues possibles COMMIT en cas de succès et dans ce cas toutes les opérations faites sur la base sont validées et on ne peut plus en annuler aucune En d ? autres termes les mises à jour deviennent dé ?nitives ROLL BACK en cas d ? échec les modi ?cations apportées à la base sont annulées depuis le dernier commit ou rollback ou depuis le premier ordre SQL s ? il n ? y a ni commit ni rollback Points de contrôle appelés Save Points ils sont utiles pour annuler une partie d ? une transaction - - CBachtarzi C Cours bases de données avancées Niveau Master SI Début transaction ordre SQL ordre SQL Save point SP ordre SQL Si condition X alors ROLL BACK to SP ?nsi ordre SQL Fin transaction III- - Transactions réparties Dans le cas d ? une transaction répartie il faut s ? assurer que toutes les mises à jour d ? une transaction sont exécutées sur tous les sites ou qu ? aucune ne l ? est Si le contrôle est réparti chaque site peut décider de valider ou d ? annuler Le problème revient donc à coordonner les validations inter-sites Validation en deux phases C ? est un protocole qui a été proposé dans le but de coordonner l ? exécution des commandes COMMIT par tous les sites concernés par une transaction Principe Le contrôle de la transaction répartie est centralisé au niveau d ? un site appelé site coordinateur Les autres sites sont appelés participants Ces derniers doivent obéir aux commandes du
Documents similaires










-
37
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Dec 05, 2021
- Catégorie Business / Finance
- Langue French
- Taille du fichier 61.2kB