C018SA-W1-S1 SEMAINE 1 : Transactions et concurrence BASES DE DONNÉES RELATIONN

C018SA-W1-S1 SEMAINE 1 : Transactions et concurrence BASES DE DONNÉES RELATIONNELLES Benjamin Nguyen 1. Introduction : les transactions 2. Les problèmes 3. Sérialisabilité 4. Estampillage 5. Verrouillage à 2 phases 6. Degrés d'isolation dans les SGBD 7. Verrouillage hiérarchique 3 Transactions bancaires • Alice souhaite verser à Bob 100 euros. • Le SGBD doit effectuer 2 opérations sur la table COMPTE : – Retirer 100 euros au compte d’Alice – Ajouter 100 euros au compte de Bob NC CLIENT SOLDE 0 Alice 1000 1 Bob 750 … … … COMPTE 4 TEMPS UPDATE COMPTE SET SOLDE = SOLDE – 100 WHERE NC = 0 t1 Transactions bancaires NC CLIENT SOLDE 0 Alice 1000 1 Bob 750 … … … COMPTE Somme : 1750 5 TEMPS UPDATE COMPTE SET SOLDE = SOLDE – 100 WHERE NC = 0 t1 Transactions bancaires NC CLIENT SOLDE 0 Alice 900 1 Bob 750 … … … COMPTE Somme : 1650 6 TEMPS UPDATE COMPTE SET SOLDE = SOLDE – 100 WHERE NC = 0 t1 Transactions bancaires NC CLIENT SOLDE 0 Alice 900 1 Bob 850 … … … COMPTE UPDATE COMPTE SET SOLDE = SOLDE + 100 WHERE NC = 1 t2 Somme : 1750 7 TEMPS UPDATE COMPTE SET SOLDE = SOLDE – 100 WHERE NC = 0 t1 Transactions bancaires NC CLIENT SOLDE 0 Alice 900 1 Bob 850 … … … COMPTE UPDATE COMPTE SET SOLDE = SOLDE + 100 WHERE NC = 1 t2 Somme : 1750 t3 COMMIT (valider) ou ROLLBACK (annuler) 8 Commit ou Rollback • Les deux opérations (ou aucune) doivent être validées pour maintenir la cohérence des données : c’est l’atomicité ! • COMMIT : permet de valider tous les changements • ROLLBACK : permet d’annuler tous les changements NC CLIENT SOLDE 0 Alice 900 1 Bob 850 … … … COMPTE On appelle transaction un ensemble séquentiel d’opérations permettant de passer d’un état cohérent à un autre. 9 Concurrence • Nombreuses transactions en parallèle • Besoin pour le SGBD d’être capable de les gérer. Eviter : – Pertes d’opérations / introduction d’incohérences – Observation d’incohérences: Lectures non reproductibles / lectures fantômes Des problèmes similaires apparaissent dans le cas des pannes. 10 Propriétés des transactions : ACIDité [Harder&Reuter, ACM CS 15(4), 1983] • Atomicité : Toutes les MAJ sont exécutées ou aucune • Cohérence : Passer d’un état cohérent à un autre (pas géré par le système) • Isolation : La transaction s’effectue comme si elle était seule • Durabilité : Une fois une transactions validée, son effet ne peut pas être perdu suite à une panne quelconque SEMAINE 1 : Transactions et concurrence BASES DE DONNÉES RELATIONNELLES Benjamin Nguyen 1. Introduction : les transactions 2. Les problèmes 3. Sérialisabilité 4. Estampillage 5. Verrouillage à 2 phases 6. Degrés d'isolation dans les SGBD 7. Verrouillage hiérarchique uploads/Finance/c018sa-w1-s1.pdf

  • 15
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Nov 19, 2021
  • Catégorie Business / Finance
  • Langue French
  • Taille du fichier 0.5649MB