Contr - PowerPoint PPT Presentation

About This Presentation
Title:

Contr

Description:

Contr le de l Acc s Simultan Chapitre 17 – PowerPoint PPT presentation

Number of Views:108
Avg rating:3.0/5.0
Slides: 20
Provided by: RaghuRa116
Category:
Tags: contr | mining | spatial

less

Transcript and Presenter's Notes

Title: Contr


1
Contrôle de lAccès Simultané
  • Chapitre 17

2
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

3
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)
A
T1
T2
Graphe de dépendance
B
4
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.

5
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.

6
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.

7
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.

8
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

9
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.

10
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.

11
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)

T1
T2
T1
T2
T4
T3
T3
T3
12
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.

13
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
14
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) lt
    TS(Tj), alors ai doit être exécutée avant aj.
    Sinon, recommencer toute Xact qui violerait cet
    ordre.

15
Lorsque une Xact T veut Lire un Objet O
  • Si TS(T) lt 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) gt 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).

16
Lorsquune Xact T veut Écrire un Objet O
  • Si TS(T) lt 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) lt 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
17
Estampilles vs.Recouvrabilité
  • Malheureusement, les estampilles permettent des
    plans nonrecouvrables
  • 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) gt 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.

18
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.

19
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.
Write a Comment
User Comments (0)
About PowerShow.com