Atomicité, cohérence, isolation, durabilité (ACID)

ACID (atoicité, cohérence, isolement, durabilité) est un ensemble de propriétés des transactions de base de données destiné à garantir la validité des données malgré les erreurs, les pannes de courant et autres prmoblèmes.

  • Atomicité : L'Atomicité garantit que chaque transaction est traitée comme une seule "unité", qui soit réussit complètement, soit échoue complètement : si l'une des requêtes constituant une transaction ne se termine pas, la transaction entière échoue et la base de données reste inchangée. Un système atomique doit garantir l'atomicité dans toutes les situations, y compris les pannes de courant, les erreurs et les plantages.

  • Cohérence : La cohérence garantit qu'une transaction ne peut faire passer la base de données que d'un état valide à un autre, en maintenant les invariants de la base de données : toute donnée écrite dans la base de données doit être valide selon toutes les règles définies, y compris les contraintes, les cascades, les déclencheurs et toute combinaison de ceux-ci. Cela permet d'éviter la corruption de la base de données par une transaction illégale, mais ne garantit pas qu'une transaction soit correcte.

Isolation : Les transactions sont souvent exécutées simultanément (par exemple, plusieurs transactions lisent et écrivent dans une table en même temps). L'isolation garantit que l'exécution simultanée des transactions laisse la base de données dans le même état que celui qui aurait été obtenu si les transactions avaient été exécutées de manière séquentielle.

Durabilité : La durabilité garantit qu'une fois qu'une transaction a été effectuée, elle le restera même en cas de défaillance du système (par exemple, panne d'électricité ou crash).

Articles associés

Canada - Maroc - France

Nous sommes une équipe passionnée par l'Open Source, le Big Data et les technologies associées telles que le Cloud, le Data Engineering, la Data Science le DevOps…

Nous fournissons à nos clients un savoir faire reconnu sur la manière d'utiliser les technologies pour convertir leurs cas d'usage en projets exploités en production, sur la façon de réduire les coûts et d'accélérer les livraisons de nouvelles fonctionnalités.

Si vous appréciez la qualité de nos publications, nous vous invitons à nous contacter en vue de coopérer ensemble.

Support Ukrain