ScholarGate
Assistant

Transactions ACID

Les transactions ACID garantissent qu'un groupe d'opérations de base de données se comporte comme une unité unique et fiable, qui est atomique, préserve la cohérence, est isolée des autres transactions et est durable une fois validée.

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

Definition

Une transaction est une unité de travail composée d'une ou plusieurs opérations de base de données que le système exécute avec les garanties ACID : atomicité, cohérence, isolation et durabilité ; elle se termine soit par une validation (rendant ses effets permanents), soit par une annulation (annulant tous ses effets).

Scope

Ce sujet aborde l'abstraction des transactions et les quatre propriétés ACID en détail : l'atomicité (validation ou annulation tout ou rien), la cohérence (chaque transaction fait passer la base de données d'un état valide à un autre), l'isolation (les transactions concurrentes n'interfèrent pas de manière observable) et la durabilité (les effets validés persistent malgré les défaillances). Il traite de la sémantique de validation et d'annulation et de la manière dont les propriétés sont liées au contrôle de concurrence et à la récupération. Il exclut les protocoles spécifiques qui implémentent l'isolation et la durabilité, qui sont des sujets connexes.

Core questions

  • Que garantit chacune des propriétés ACID ?
  • Comment la validation et l'annulation définissent-elles le comportement tout ou rien d'une transaction ?
  • Comment l'isolation est-elle liée à la sérialisabilité et au contrôle de concurrence ?
  • Comment la durabilité est-elle atteinte malgré les pannes système ?
  • Quelles sont les limites du modèle de transaction pour les travaux de longue durée ou distribués ?

Key concepts

  • unité de travail transactionnelle
  • atomicité
  • cohérence
  • isolation
  • durabilité
  • validation et annulation
  • retour arrière (rollback)
  • modèle d'état de transaction

Key theories

Atomicité et durabilité
L'atomicité garantit que les effets d'une transaction sont appliqués entièrement ou pas du tout, même en cas de défaillance, et la durabilité assure qu'une fois qu'une transaction est validée, ses modifications survivent aux pannes ; les deux sont implémentées par la journalisation et la récupération.
Cohérence et isolation
La cohérence exige que chaque transaction validée préserve les contraintes d'intégrité de la base de données, et l'isolation exige que les transactions concurrentes produisent des résultats équivalents à un certain ordre sériel, en masquant les états intermédiaires les unes des autres.
Le concept de transaction et ses limites
L'abstraction des transactions simplifie le raisonnement sur les défaillances et la concurrence, mais Gray a noté des limitations pour les activités de longue durée et à travers les frontières des systèmes, ce qui a motivé des travaux ultérieurs sur les sagas et les transactions distribuées.

Clinical relevance

Les transactions ACID sont la raison pour laquelle les bases de données peuvent être utilisées en toute confiance pour des opérations critiques : un transfert de fonds, une déduction d'inventaire ou une réservation se termine entièrement ou pas du tout et survit aux pannes, c'est pourquoi les bases de données transactionnelles constituent l'épine dorsale des systèmes bancaires, commerciaux et d'archivage.

History

Jim Gray a articulé le concept de transaction ainsi que ses vertus et ses limites en 1981 ; Härder et Reuter ont inventé l'acronyme ACID dans leur étude de 1983 sur la récupération orientée transaction. Ces idées, développées autour du System R d'IBM, sont devenues le modèle standard du traitement fiable des données et ont façonné tous les systèmes de bases de données ultérieurs.

Key figures

  • Jim Gray
  • Andreas Reuter
  • Theo Härder

Related topics

Seminal works

  • gray1981
  • haerder1983
  • gray1992

Frequently asked questions

Quelle est la différence entre la cohérence dans ACID et la cohérence dans le théorème CAP ?
Ce sont des notions différentes. La cohérence ACID signifie qu'une transaction préserve les contraintes d'intégrité de la base de données, la faisant passer d'un état valide à un autre. La cohérence CAP fait référence à toutes les répliques d'un système distribué s'accordant sur la dernière valeur. Un système peut satisfaire l'une sans l'autre, de sorte que le même mot désigne des propriétés distinctes dans les deux contextes.
Les propriétés ACID sont-elles indépendantes les unes des autres ?
Ce sont des garanties conceptuellement distinctes mais implémentées par des mécanismes qui se chevauchent. L'atomicité et la durabilité proviennent de la journalisation et de la récupération ; l'isolation provient du contrôle de concurrence ; et la cohérence est préservée conjointement par la logique transactionnelle de l'application et l'application par le système des trois autres propriétés.

Methods for this concept

Related concepts