SYSTÈMES INFORMATIQUESSystèmes de gestion de bases de données

Carte mentale

Élargissez votre recherche dans Universalis

Accès concurrent et transactions

La notion d'accès concurrent décrit la situation où plusieurs applications veulent accéder à la même donnée en même temps. Par exemple, il est possible que deux applications bancaires accèdent simultanément au compte du même client (à la même donnée). Si les accès sont conflictuels, c'est-à-dire si au moins une des deux applications veut modifier le compte, le S.G.B.D. doit réagir afin d'éviter que la base de données se trouve dans un état incohérent à la fin des opérations. Le groupement d'opérations en transactions permet une vision cohérente des données.

Une transaction rassemble un ensemble d'opérations qui doivent toutes avoir la même vision d'une base de données. Ainsi, deux opérations successives de lecture du compte d'un client à l'intérieur d'une transaction doivent retourner la même valeur sans être dérangées par des opérations d'écriture par une autre transaction.

Les applications sont ainsi perçues par le S.G.B.D. comme un ensemble de transactions indépendantes auxquelles il doit fournir un accès cohérent aux données. Cette cohérence est formalisée par la notion de sérialisabilité.

L'exécution des opérations d'un ensemble de transactions est sérialisable s'il existe un ordre (partiel) < entre les transactions tel que toutes les opérations d'une transaction T qui sont en conflit avec les opérations d'une autre transaction T' < T, sont exécutées après ces opérations (deux opérations, comme on l'a dit, sont en conflit si elles accèdent à la même donnée et si au moins une opération est une écriture).

On peut montrer que chaque transaction dans un ensemble sérialisable peut posséder une vision différente des données, mais que chacune de ces visions est cohérente. Pour augmenter le débit transactionnel et réduire l'attente des utilisateurs, les opérations de transactions concurrentes sont interclassées, mais, pour une transaction, tout se passe comme si l'exécution des transactions concurrentes était séquentielle. Pour vérifier la sérialisabilité de l'exécution d'un ensemble de transactions, on peut construire un graphe de sérialisabilité.

Le graphe de sérialisabilité d'une séquence d'opération lectures/écritures effectuées par un ensemble de transactions contient un nœud pour chaque transaction et relie deux transactions différentes T' et T par un arc T'→ T si une opération effectuée par T' est en conflit avec une opération effectuée après par T.

On peut montrer que les transactions de l'ensemble sont sérialisables si ce graphe ne contient pas de cycle (fig. 3).

S.G.B.D. relationnel : accès concurrent et transactions

Dessin : S.G.B.D. relationnel : accès concurrent et transactions

Accès concurrent et transactions. Trois transactions qui modifient les comptes 00450789258 et 00450779876 sont présentées dans le tableau (a). La première transaction effectue un retrait de 200 euros du compte 00450789258. La deuxième crédite le compte 00450779876 de 300 euros, tandis que... 

Crédits : Encyclopædia Universalis France

Afficher

Le S.G.B.D. ne doit pas seulement vérifier la sérialisabilité d'un ensemble de transactions, mais également réagir quand il détecte que cette propriété est violée. Le verrouillage à deux phases est une des techniques utilisées qui garantissent la sérialisabilité.

Avant d'effectuer une opération sur une donnée (n-uplet, table), une transaction T doit demander un verrou au gestionnaire de transactions du S.G.B.D. Si la donnée est déjà verrouillée par une autre transaction T' pour une opération conflictuelle (par exemple pour une écriture), la transaction T est obligée d'attendre le relâchement du verrou par la transaction T'. Si on applique ce protocole en imposant qu'une transaction qui a déjà relâché un verrou ne peut plus en demander d'autres, on parle d'un protocole de verrouillage à deux phases et on peut montrer que l'exécution des opérations obtenue est sérialisable.

Ce protocole n'évite pas le problème d'interblocage (deux transactions attendent mutuellement le relâchement d'un verrou), qui doit être traité par le contrôleur de concurrence.

1  2  3  4  5
pour nos abonnés,
l’article se compose de 10 pages

Médias de l’article

S.G.B.D. relationnel : exemples de relations

S.G.B.D. relationnel : exemples de relations
Crédits : Encyclopædia Universalis France

dessin

S.G.B.D. relationnel : fichier Comptes et arbre B

S.G.B.D. relationnel : fichier Comptes et arbre B
Crédits : Encyclopædia Universalis France

dessin

S.G.B.D. relationnel : accès concurrent et transactions

S.G.B.D. relationnel : accès concurrent et transactions
Crédits : Encyclopædia Universalis France

dessin

S.G.B.D. relationnel : données hétérogènes

S.G.B.D. relationnel : données hétérogènes
Crédits : Encyclopædia Universalis France

dessin

Afficher les 4 médias de l'article


Écrit par :

  • : professeur des Universités
  • : professeur des Universités, Conservatoire national des arts et métiers, laboratoire Cédric

Classification

Autres références

«  SYSTÈMES INFORMATIQUES  » est également traité dans :

SYSTÈMES INFORMATIQUES - Conception, architecture et urbanisation des systèmes d'information

  • Écrit par 
  • Sylvie SERVIGNE
  •  • 3 256 mots
  •  • 7 médias

Le système d'information est aujourd'hui un élément central du fonctionnement d'une organisation. Un système d'information peut être défini comme un ensemble de ressources (personnel, logiciels, processus, données, matériels, équipements informatique et de télécommunication...) permettant la collecte, le stockage, la structuration, la m […] Lire la suite

SYSTÈMES INFORMATIQUES - Systèmes d'aide à la décision

  • Écrit par 
  • Elisabeth METAIS
  •  • 8 395 mots
  •  • 7 médias

L'information est la matière première la plus précieuse pour la compétitivité des entreprises au xxie siècle et l'intelligence – humaine ou artificielle – a besoin de cette connaissance pour aider à la prise de décision. Le partage de données et la diffusion de connaissance sont donc les domaines les plus s […] Lire la suite

Voir aussi

Pour citer l’article

Bernd AMANN, Michel SCHOLL, « SYSTÈMES INFORMATIQUES - Systèmes de gestion de bases de données », Encyclopædia Universalis [en ligne], consulté le 11 août 2022. URL : https://www.universalis.fr/encyclopedie/systemes-informatiques-systemes-de-gestion-de-bases-de-donnees/