ScholarGate
Assistant

Protocoles de contrôle de concurrence

Les protocoles de contrôle de concurrence sont les méthodes — verrouillage, ordonnancement par estampille, validation optimiste et multiversion — qui planifient les transactions concurrentes de manière à ce que le résultat soit équivalent à une exécution séquentielle.

Trouver un sujet avec PaperMindBientôtFind papers & topics
Tools & resources
Télécharger les diapositives
Learn & explore
VidéoBientôt

Definition

Un protocole de contrôle de concurrence est un ensemble de règles régissant la manière dont les transactions concurrentes accèdent aux données, de sorte que chaque ordonnancement autorisé soit sérialisable (ou satisfasse un niveau d'isolation plus faible choisi), préservant ainsi l'isolation sans obliger les transactions à s'exécuter une par une.

Scope

Ce sujet couvre les protocoles qui garantissent la sérialisabilité en situation de concurrence : le verrouillage à deux phases et sa variante stricte, avec détection et prévention des interblocages ; les protocoles d'ordonnancement par estampille ; le contrôle de concurrence optimiste avec des phases de lecture-validation-écriture ; et le contrôle de concurrence multiversion, incluant l'isolation par instantané. Il examine comment chaque protocole garantit des ordonnancements corrects et les compromis entre le blocage, les annulations et le débit. Il exclut la définition de la sérialisabilité elle-même et les mécanismes de récupération qui complètent le contrôle de concurrence.

Core questions

  • Comment le verrouillage à deux phases garantit-il des ordonnancements sérialisables ?
  • Comment les interblocages sont-ils détectés, prévenus ou résolus ?
  • En quoi les protocoles d'ordonnancement par estampille et optimistes diffèrent-ils du verrouillage ?
  • Comment le contrôle de concurrence multiversion permet-il aux lecteurs d'éviter de bloquer les rédacteurs ?
  • Quels sont les compromis en termes de débit entre les méthodes pessimistes et optimistes ?

Key concepts

  • verrouillage à deux phases
  • 2PL strict et rigoureux
  • verrous partagés et exclusifs
  • détection et prévention des interblocages
  • ordonnancement par estampille
  • contrôle de concurrence optimiste
  • contrôle de concurrence multiversion
  • isolation par instantané

Key theories

Verrouillage à deux phases
Si chaque transaction acquiert tous ses verrous avant d'en libérer un seul (une phase de croissance suivie d'une phase de décroissance), tous les ordonnancements résultants sont sérialisables par conflit ; le verrouillage strict à deux phases maintient en outre les verrous d'écriture jusqu'à la validation pour assurer la récupérabilité.
Contrôle de concurrence optimiste
Les transactions s'exécutent sans verrouillage et sont validées au moment de la validation par rapport aux transactions concurrentes ; les transactions en conflit sont annulées et relancées, ce qui fonctionne bien lorsque la contention est faible.
Contrôle de concurrence multiversion
En conservant plusieurs versions de chaque élément de données, le système permet aux lectures d'accéder à un instantané cohérent sans bloquer les écritures ; l'isolation par instantané est un schéma multiversion largement utilisé, bien qu'il puisse permettre certaines anomalies non sérialisables.

Clinical relevance

Les protocoles de contrôle de concurrence déterminent le comportement d'une base de données sous charge : le verrouillage est robuste mais peut entraîner des interblocages et des contentions, les méthodes optimistes et multiversion permettent une concurrence élevée en lecture, et le choix du protocole influence directement le débit et la latence des systèmes transactionnels à fort trafic.

History

Le verrouillage à deux phases et les verrous de prédicat ont été formalisés par Eswaran et ses collègues chez System R en 1976 ; Kung et Robinson ont introduit le contrôle de concurrence optimiste en 1981 ; et la monographie de Bernstein, Hadzilacos et Goodman de 1987 a unifié la théorie. Les méthodes multiversion et l'isolation par instantané sont devenues dominantes par la suite dans les systèmes de bases de données largement utilisés pour leur comportement favorable aux lectures.

Debates

Isolation par instantané versus sérialisabilité
L'isolation par instantané offre une concurrence élevée en permettant aux lecteurs de voir un instantané cohérent, mais elle autorise des anomalies telles que le biais d'écriture (write skew) que la sérialisabilité complète interdit ; les praticiens débattent du moment où sa garantie plus faible est acceptable et du moment où des variantes sérialisables sont nécessaires.

Key figures

  • Jim Gray
  • Philip Bernstein
  • H. T. Kung

Related topics

Seminal works

  • eswaran1976
  • kung1981
  • bernstein1987

Frequently asked questions

Qu'est-ce qui cause un interblocage et comment est-il géré ?
Un interblocage se produit lorsque deux transactions ou plus détiennent chacune un verrou dont l'autre a besoin, de sorte qu'aucune ne peut progresser. Les systèmes le gèrent soit par détection — en construisant un graphe d'attente, en trouvant un cycle et en annulant une transaction victime — soit par des schémas de prévention qui ordonnent l'acquisition des verrous ou utilisent des estampilles pour décider quelle transaction attend ou est annulée.
Quand le contrôle de concurrence optimiste est-il un bon choix ?
Les méthodes optimistes excellent lorsque les conflits sont rares, car les transactions s'exécutent sans la surcharge du verrouillage et ne échouent et ne sont relancées qu'occasionnellement lors de la validation. En cas de forte contention, elles gaspillent du travail en annulations et relances, de sorte que le verrouillage pessimiste ou les méthodes multiversion sont généralement préférés pour les charges de travail à forte écriture et sujettes aux conflits.

Methods for this concept

Related concepts