Chapitre 2 techniques controle concurrences

Chapitre TECHNIQUES DE CONTROLE DE CONCURRENCE Dé ?nition Le contrôle de concurrence consiste à coordonner l'exécution simultanée de transactions dans un système multi-t? ches de gestion de base de données L'objectif est d'assurer la sérialisabilité des transactions Verrouillage Un bon moyen d'assurer la sérialisabilité est d'imposer que les accès aux données de la base se fassent de façon mutuellement exclusive Un verrou garantit un usage exclusif d'une donnée à une transaction Un verrou sert à interdire l'accès à une donnée qui est en cours d'utilisation par une autre transaction Si une transaction T pose un verrou sur l'accès d'une donnée une transaction T n'aura pas accès à cette donnée Le verrou est levé lorsque la transaction T est terminée la transaction T pourra alors poser elle-même un verrou pour son usage Notons qu'une transaction doit maintenir son verrou sur une donnée aussi longtemps qu'elle y a accès De plus il n'est pas toujours souhaitable qu'une transaction déverrouille la donnée qu'elle traite immédiatement après y avoir eu accès puisqu'on n'est pas sûr de sa sérialisabilité Modes de verrouillage Le mode partagé Dans ce mode une transaction peut lire un objet mais non l'écrire C'est un verrou en lecture Aucune transaction T ne peut mettre à jour la donnée E mais des transactions concurrentes T T peuvent l'accéder en lecture Le mode exclusif Dans ce mode une transaction peut lire et écrire l'objet C'est un verrou en écriture Seulement la transaction T peut mettre à jour la donnée E et tout autre accès est interdit Le mode partagé est toujours compatible avec lui-même mais incompatible avec le mode exclusif On peut entretenir plusieurs modes partagés à un instant donné entre plusieurs transactions pour un objet donné c'est à dire plusieurs verrous en lecture sur un même objet Une demande ultérieure de mode exclusif doit attendre la relaxation du mode partagé pour être prise en compte Le protocole de verrouillage deux-phases On a vu que le verrouillage des données d'une base doit être appliqué avec modération Si d'une part on tente d'augmenter le rendement du traitement simultané des transactions en déverrouillant les données dès que possible la base peut se retrouver en état inconsistant Si d'autre part on ne déverrouille pas un article avant d'en verrouiller un autre on crée des interblocages Nous imposerons donc aux transactions de respecter un ensemble de règles appelées protocole de verrouillage qui organise le verrouillage et le déverrouillage des données concernées par les transactions Le protocole de verrouillage le plus important est le protocole deux-phases Si toutes les transactions utilisent ce protocole alors tous les schémas parallèles qu'on peut former seront sérialisables Ce protocole implique que chacune des transactions de la séquence émette ses demandes de verrouillage et de déverrouillage en deux phases Verrouillage croissant Une transaction peut obtenir des verrouillages mais pas de nouveau déverrouillage On pose tous les verrous nécessaires pendant cette phase CVerrouillage décroissant Une transaction peut obtenir des déverrouillages mais pas de nouveau verrouillage Initialement une transaction donnée est en phase de verrouillage

  • 34
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Nov 21, 2022
  • Catégorie Business / Finance
  • Langue French
  • Taille du fichier 58.3kB