Transactions ACID
Qu'est-ce qu'une transaction ?
Dans le contexte des bases de données et des systèmes de stockage, une transaction est une opération traitée comme une seule unité de travail, qui aboutit entièrement ou pas du tout, et laisse le système de stockage dans un état cohérent. Pour prendre un exemple classique, lorsque vous retirez de l'argent de votre compte bancaire, il s'agit d'une transaction. Soit l'argent a été débité de votre compte bancaire, soit il y est encore. Il n'y a pas d'état intermédiaire.
Propriétés ACID : atomicité, cohérence, isolement et durabilité
L'acronyme ACID désigne les quatre propriétés clés qui définissent une transaction : atomicité, cohérence, isolement et durabilité. Si une opération de base de données présente ces propriétés ACID, elle peut être qualifiée de transaction ACID. Les systèmes de stockage de données qui appliquent ce type d'opérations sont appelés « systèmes transactionnels ». Avec les transactions ACID, chaque lecture, écriture ou modification d'une table présente les caractéristiques suivantes :
- Atomicité : chaque instruction d'une transaction (lecture, écriture, mise à jour ou suppression de données) est traitée comme une seule unité. Soit l'instruction est exécutée dans son intégralité, soit elle ne l'est pas du tout. Cette propriété empêche que des données soient perdues ou corrompues si, par exemple, la source de données de streaming s'interrompt à mi-parcours.
- Cohérence