Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Contrôle de lAccès Simultané Chapitre 17.

Slides:



Advertisements
Présentations similaires
Module Systèmes d’exploitation
Advertisements

Contrôle de la concurrence
GEF 435 Principes des systèmes d’exploitation
1 CNAM Vendredi 29 Novembre 2002 Bases de Données Avancées UV C Responsable : Mr Scholl PROTOCOLE A DEUX PHASES Meryem Guerrouani.
Julie Dugdale Génie Logiciel 2 Julie Dugdale
Portée des variables VBA & Excel
Fonctions & procédures
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
GEF 435 Principes des systèmes d’exploitation
Chapitre 3 Interblocages
1 TransactionsTransactions Witold Litwin. 2 IntroductionIntroduction n Beaucoup d'opérations sur une BD doivent être atomiques: n Transfert d'argent entre.
Les bases de données temps-réel
Traitement Co-Séquentiel: Appariment et Fusion de Plusieurs Listes
Structures de données linéaires
Transaction Ensemble d'opérations de modification de données annulées ou validées en bloc. Une Transaction vérifie les caractéristiques suivantes ( ACID.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Stockage des Données: Disques et Fichiers Chapitre 9.
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Atomicité Transactions Atomiques Recouvrement à Base de Journal
Accès aux données généralisé SQL est presque une solution! Le problème: Le SQL n'est pas une langue complète, et doit être intégré dans un langage de programmation.
1 Bases de Données Distribuées Chapitre 22, Sections 22.6–22.14.
Auto Exterior Scoop SQP PROCESSUS 24 juillet 2006 Version validée V01.
Bases de données lexicales
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
Sections sélectionnées du Chapitre 11
GESTION DE TRANSACTIONS
8.1 URDL22005 Systèmes dexploitation Interblocages Modèle Système Caractérisation dinterblocage Méthodes pour Gérer les Interblocages Prévention des Interblocages.
Rappels de logique des prédicats du 1er ordre
IFT Complexité et NP-complétude
1 Gestion des Transactions: Survol Chapitre Transactions Une transaction est la vue abstraite qua le SGBD dun programme dusager: cest une séquence.
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections
1 Tri Externe Chapitre 13: Pourquoi Trier? Problème classique en informatique (Voir Knuth, v.3)! Données requises en ordre trié P.ex.: Trouver.
1 Reprise Chapitre Objectifs Vol et forçage: rappel Le log organisation maintient et utilisation Autres structures de données Protocole WAL Points.
Gestion de Fichiers Indexes basés sur les structures d’arbres binaires et indexes à niveaux multiples.
1 Tri Externe Chapitre 13: Pourquoi Trier? Problème classique en informatique (Voir Knuth, v.3)! Données requises en ordre trié P.ex.: Trouver.
Gestion de Fichiers Tri Interne Efficace et Tri Externe.
1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Systèmes de Gestion des Bases de Données Chapitre 1 Professeur: Iluju Kiringa
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Évaluation des Requêtes: Survol Chapitre 12.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Survol du Stockage et de lIndexage Chapitre 8.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Gestion des Transactions: Survol Chapitre 16.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Gestion des Transactions: Survol Chapitre 16.
Indexes à Arbres et Indexes à Hachage
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Algèbre Relationnelle Chapitre 4, Sections 4.1 – 4.2.
IFT2821 Base de données Chapitre 8 Fonctions avancées
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Survol du Stockage et de lIndexage Chapitre 8.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Stockage des Données: Disques et Fichiers Chapitre 9.
MI-SESSION 2007 Miguel Garzon CSI3530. Q1. Idée Tri Externe à 3 voies en utilisant 3 tampons Main memory buffers INPUT 1 INPUT 2 OUTPUT Disk INPUT 2INPUT.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 SQL: Requêtes, Programmation et Triggers Chapitre 5, Sections 15.5.
Le Modèle Entité-Relation (Entité-Association)
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Calcul Relationnel Chapitre 4, Section 4.3.
EPID-CPI-ISAIP Philippe Bancquart - mise à jour 24/02/ page 1 Gestion des transactions SQLServer.
Systèmes de gestion de bases de données NFP 107 Les techniques du contrôle de concurrence Philippe Rigaux
Gérer la sécurité des mots de passe et les ressources
O-notation 1. Introduction 2. O-notation 3. Opérations 3.1 Somme 3.2 Produit 4. Règles générales 5. Exemple 6.Analyse des algorithmes récursifs 6.1 Dilatation.
Programmation linéaire en nombres entiers
Interactions entre Processus
Surveiller et résoudre le conflit de verrouillage
1/13 Sécurité dans Pastis Fabio Picconi LIP6 13 février 2004 ACI MD Grid Data Services (GDS)
Ait Ahmed Madjid Cohen Lior Jaballah Seddik Leborgne Fabien
GF-11: Tri Interne Efficace et Tri Externe
Structures de données avancées : LH (Hachage linéaire) D. E ZEGOUR Institut National d ’Informatique.
Génère des transactions : – Aléatoirement – Suivant des paramètres définis – Suivant une loi de poisson – Sous transactions Actions : – Opérations aléatoires.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Matière Sélectionnée: Triage Externe, Join à Hachage, … Chapitres 13—15: 13.1—13.5, 14.4,
La concurrence Objectifs Les bases Le verrouillage à deux phases
1 Transactions Support construit à partir des cours de N. Anciaux, L. Bouganim, P. Pucheral, Z. Kehdad, G. Gardarin, P. Borlat (Oracle France) Benjamin.
Algorithmique - Lecture / Ecriture - M me DJEBOURI. D. Faculté de Médecine salle informatique Année universitaire
Contrôle de l’Accès Simultané
Contrôle de l’Accès Simultané
Transcription de la présentation:

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Contrôle de lAccès Simultané Chapitre 17

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke2 Plans Sérialisables par Rapport aux Conflits Deux actions sont en conflit si elles opèrent sur le même élément de la BD, elles appartiennent à différentes transactions, une delles au moins est une action décriture. Deux plans sont équivalents par rapport aux conflits si: Ils contiennent les mêmes actions des mêmes transactions. Chaque pair dactions conflictuelles est ordonnée de la même manière dans les deux plans. Un plan S est sérialisable par rapport aux conflits ssi S est équivalent par rapport aux conflits à un (quelconque) plan séquentiel (sériel). Rappel: plan sérialisable plan recouvrable plan évitant les abandons en cascade

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke3 Exemple Le plan suivant nest pas sérialisable p.r. conflits: Le cycle dans ce graphe révèle le problème. Le résultat de T1 dépend de T2 et vice-versa. T1: R(A), W(A), R(B), W(B) T2: R(A), W(A), R(B), W(B) T1T2 A B Graphe de dépendance

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke4 Graphe de Dépendance Graphe de dépendance (précédence) : contient un nœud par Xact; une arête de Ti à Tj si une action de Ti précède et entre en conflit avec une action de Tj. Théorème: Un plan est sérialisable p.r. conflits si et seulement si son graphe de dépendance est acyclique.

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke5 2PL Strict: Rappel Protocole Strict Two-phase Locking (Strict 2PL) : Chaque Xact doit obtenir un verrou ( partagé) du genre S sur un objet avant de le lire, et un verrou ( exclusif ) du genre X sur un objet avant de le lire. Tous les verrous sont retenus par une Xact jusquà sa fin complète. Si une Xact retient un verrou X sur objet, aucune autre Xact ne peut obtenir un verrou sur cet objet. 2PL strict ne permet que des plans dont le graphe de dépendance est acyclique.

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke6 2PL Protocole Two-phase Locking (2PL) : Chaque Xact doit obtenir un verrou ( partagé) du genre S sur un objet avant de le lire, et un verrou ( exclusif ) du genre X sur un objet avant de le lire. Aucune Xact ne peut obtenir de verrous supplémentaires après quelle ait relâché un verrou. Si une Xact retient un verrou X sur objet, aucune autre Xact ne peut obtenir un verrou sur cet objet. 2PL permet des plans non recouvrables.

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke7 Gestion des Verrous Les requêtes pour verrouiller/déverrouiller sont traitées par le lock manager. Le lock manager maintient une table des verrous, i.e. une table de hachage avec lidentité de lobjet de la base de données comme clé. Une entrée dans la table des verrous contient au moins: # de Xacts présentement verrouillant un objet Type de verrous (S ou X) Pointeur vers la queue des requêtes des verrous Verrouiller et déverrouiller doivent être des opérations atomiques. Promouvoir un verrou: transformer un verrou S en un verrou X. Rétrograder un verrou: transformer un verrou X en un verrou S. Cette approche est la plus répandue dans les systèmes commerciaux.

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke8 Interblockages (Deadlocks) Interblockage: Cycle des transactions attendant que dautres transactions leur passent des verrous sur un objet donnée. Deux voies de solutions classiques pour traiter les interblockages sont: prévention détection

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke9 Prévention des Interblockages Assigner des priorités basées sur des estampilles (timestamps); lestampille la plus petite a la plus grande priorité: i.e. les vieilles Xacts ont priorité sur les plus jeunes. Supposez que Ti veut un verrou retenu par Tj. Deux polices sont possibles à ce sujet: Wait-Die: Si Ti a une plus grande priorité, Ti attend que Tj finisse; sinon Ti est abandonnée et recommencée Wound-wait: Si Ti a une plus grande priorité, Tj est abandonnée et recommencée; sinon Ti attend Si une transaction recommence, elle doit reprendre son estampille initiale. La prévention est aussi possible en utilisant un 2PL conservateur: chaque Xact obtient à lavance tous les verrous dont elle pourrait avoir besoin.

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke10 Détection des Interblockages Créer un graphe waits-for: Les nœuds sont des transactions Il y a une arête allant de Ti à Tj si Ti est entrain dattendre que Tj relâche un verrou Ensuite vérifier périodiquement sil ny a pas de cycles dans le graphe waits-for.

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke11 Détection des Interblockages (Suite) Exemple: T1: S(A), R(A), S(B) T2: X(B),W(B) X(C) T3: S(C), R(C) X(A) T4: X(B) T1T2 T4T3 T1T2 T3

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke12 Contrôle dAccès Simultané Optimiste Le verrouillage est une approche conservatrice et pessimiste dans laquelle on prévient les conflits. Desavantages: Coût de la gestion des verrous Détection/résolution des interblockages Congestion pour les objets très utilisés Si les conflits sont plutôt rares, on pourrait gagner en accès simultané en évitant de verrouiller les objets, mais plutôt en vérifiant la présence des conflits avant que les Xacts ne soient validées.

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke13 Le Modèle de Kung-Robinson Dans un protocole optimiste, les Xacts ont trois phases: LECTURE: Les Xacts lisent les données de la base de données, mais procèdent aux changements sur des copies privées des données lues. VALIDATION: Chercher les conflits. ECRITURE: Les copies locales modifiées par les Xacts validées sont rendues publiques. ROOT

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke14 Accès Simultané à Base dEstampilles Idée: Donner à chaque objet une estampille de lecture (RTS), une estampille décriture (WTS), ainsi quune estampille de base (TS) au moment où elle commence: Si laction ai dune Xact Ti est en conflit avec une action aj dune autre Xact Tj, et TS(Ti) < TS(Tj), alors ai doit être exécutée avant aj. Sinon, recommencer toute Xact qui violerait cet ordre.

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke15 Lorsque une Xact T veut Lire un Objet O Si TS(T) < WTS(O), cela viole lordre des estampilles par rapport à la Xact qui a écrit O. Ainsi if faut abandonner T et la recommencer avec une nouvelle et plus grande estampille TS. (Si T est recommencé avec la même TS, T échouera à nouveau!) Si TS(T) > WTS(O): Permettre à T de lire O. RTS(O) devient max(RTS(O), TS(T)) Les changements faits sur RTS(O) lors des lectures doivent être écrits sur disque! Cela entraîne des coûts (de même que les incessants recommencements des Xacts).

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke16 Lorsquune Xact T veut Écrire un Objet O Si TS(T) < RTS(O), cela viole lordre des estampilles par rapport à la Xact qui a écrit O. Doù T est abandonnée puis recommencée. Si TS(T) < WTS(O), cela viole lordre des estampilles par rapport à la Xact qui a écrit O. (Abandonner T ou appliquer la règle de Thomas) Règle décriture de Thomas: On peut ignorer de telles modifications périmées ; pas besoin de recommencer T! (la modification faite par T est effectivement suivie par une autre sans lectures intercalées.) Ceci permet quelques plans sérialisables mais pas sérialisables par rapport aux conflits: Sinon, permettre à T décrire O et WST(O) prend la même valeur que TS(T). T1 T2 R(A) W(A) Commit W(A) Commit

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke17 Estampilles vs.Recouvrabilité La méthode des estampilles peut être modifiée afin de permettre seulement des plans recouvrables; 2 stratégies sont possibles: Stocker toute écriture en tampon jusquà la validation de la Xact qui écrit (Mais mettre à jour la WTS(O) lorsque lécriture est permise.) Bloquer toute Xact T qui lit (où TS(T) > WTS(O)) jusquà ce que la Xact qui écrit O soit validée. Similitude avec 2PL: les Xacts qui lisent ne relâchent les verrous quaprès validation. v Malheureusement, les estampilles permettent des plans nonrecouvrables:

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke18 Résumé Plusieurs méthodes de contrôle daccès simultané basées sur le verrouillage existent (Strict 2PL, 2PL). Le graphe de dépendance permet de détecter les conflits entre Xacts. Le lock manager gère les verrous sur les objets. Les interblockages peuvent soit être prévenus ou détectés.

Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke19 Résumé (Suite) Le contrôle daccès simultané optimiste vise à minimaliser les coûts dun tels accès dans un environnement dit optimiste dans lequel les lectures sont répandues et les écritures plutôt rares. Le contrôle optimiste engendre cependant dautres coûts; beaucoup de systèmes commerciaux utilisent le verrouillage. Les estampilles sont une autre alternative à 2PL; elles permettent certains plans sérialisables que 2PL ne permettent pas. La recouvrabilité avec les estampilles est similaire au traitement des écritures dans 2PL.