Partager via


Propriétés ACID

Le terme ACID ** décrit le rôle joué par les transactions dans des applications vitales. Mis au point par des pionniers du traitement des transactions, ACID signifie atomicité, cohérence, isolation et durabilité.

Ces propriétés assurent un comportement prévisible, ce qui renforce le rôle des transactions en tant que propositions tout ou rien destinées à réduire la charge de gestion en présence d'un nombre important de variables.

Atomicité

Une transaction est une unité de travail comprenant une série d'opérations qui s'exécutent entre les instructions BEGIN TRANSACTION et END TRANSACTION d'une application. Une transaction s'exécute une seule fois et de façon atomique (le travail est entièrement accompli ou pas du tout).

Les opérations associées à une transaction visent généralement un but commun et dépendent l'une de l'autre. En exécutant un sous-ensemble seulement de ces opérations, le système pourrait compromettre le but global de la transaction. La propriété d'atomicité élimine le risque de ne traiter qu'une partie des opérations.

Cohérence

Une transaction est une unité d'intégrité, car elle préserve la cohérence des données, en transformant un état cohérent des données en un autre état cohérent des même données.

La cohérence exige que les données liées par une transaction soient protégées sémantiquement. Le maintien de la cohérence incombe en partie au développeur de l'application qui doit s'assurer que toutes les contraintes d'intégrité connues sont respectées par l'application. Ainsi, si vous développez une application qui transfère de l'argent, vous devez éviter de déplacer arbitrairement les symboles décimaux au cours du transfert.

Isolation

Une transaction est une unité d'isolation : les transactions simultanées se comportent comme si chacune était la seule à s'exécuter sur le système.

L'isolation exige que chaque transaction apparaisse comme si elle était la seule à manipuler le magasin de données, même si d'autres transactions s'exécutent au même moment. Une transaction ne doit jamais voir les phases intermédiaires d'une autre transaction.

Les transactions atteignent leur plus haut niveau d'isolation quand elles sont sérialisables. À ce stade, les résultats obtenus d'un ensemble de transactions simultanées sont identiques à ceux obtenus en exécutant chaque transaction l'une après l'autre. Dans la mesure où un niveau élevé d'isolation peut limiter le nombre de transactions simultanées, certaines applications réduisent le niveau d'isolation en contrepartie d'un meilleur débit.

Durabilité

Une transaction est également une unité de récupération. Si une transaction réussit, le système garantit que ses mises à jour perdureront, même si l'ordinateur tombe en panne juste après la validation. Un journal spécialisé permet à la procédure de redémarrage du système de terminer des opérations inachevées, ce qui rend la transaction durable.

Voir aussi

Notions de base du traitement des transactions