PRATIQUE ALGO/METHODES 
Expliquez-moi... Les propriétés ACID d'une base de données
 
Atomicité, cohérence, isolation et durabilité sont les quatre conditions d'une transaction réussie au sein d'une base de données. Définition et raison d'être de chacune. (15/06/2006)
  Forum

Réagissez dans les forums de JDN Développeurs

Selon la théorie des bases de données, les propriétés ACID sont les quatre principaux attributs d'une transaction de données. Il s'agit là d'un des concepts les plus anciens et les plus importants du fonctionnement des bases de données : spécifier quatre buts à atteindre pour toute transaction.

Les quatre lettres de l'acronyme ACID renvoient à un moyen mnémotechnique pour se souvenir de chacune de ces caractéristiques essentielles : Atomicity (atomicité), Consistency (cohérence), Isolation, Durability (durabilité).

Atomicité signifie que les mises à jour de la base de données doivent être "atomiques", à savoir qu'elles doivent être totalement réalisées ou pas du tout. Sur 5000 lignes devant être modifiées, si la modification d'une seule échoue, alors la transaction entière doit être annulée. C'est primordial, car chaque ligne modifiée peut dépendre du contexte de modification d'une autre, et toute rupture de ce contexte peut avoir des conséquences catastrophiques.

Cohérence signifie que les modifications apportées à la base doivent être valides, en accord avec l'ensemble de la base et de ses contraintes d'intégrité. S'il arrive qu'un changement risque de perturber l'intégrité des données, alors soit le système doit modifier les données dépendantes, soit la transaction doit être interdite.

Isolation signifie que les transactions lancées au même moment ne doivent jamais interférer entre elles, ni même agir selon le fonctionnement de chacune. Par exemple, si une requête est lancée alors qu'une transaction est en cours, le résultat de celle-ci ne peut montrer que l'état original ou final d'une donnée, mais pas l'état intermédiaire. De fait, les transactions doivent s'enchaîner les unes à la suite des autres, et non de manière concurrentielle.

Durabilité signifie que toutes les transactions sont lancées de manière définitive. Une base ne doit pas afficher le succès d'une transaction, pour ensuite remettre les données modifiées dans leur état initial. Pour ce faire, toute transaction est sauvegardée dans un fichier journal, afin que, dans le cas où un problème survient empêchant sa validation complète, celle-ci puisse être correctement terminée lors de la disponibilité du système.

Ces quatre attributs d'une transaction sont gérés par le moteur de base de données, et doivent impérativement être respectés pour que celui-ci puisse être considéré comme fiable. Leur implémentation n'est pas des plus simples, car tous les paramètres de chaque transaction lancée doivent être confrontés à ces quatre attributs au même moment.

 
Xavier Borderie, JDN Développeurs
 
 
Accueil | Haut de page