ACID (Atomicité, Cohérence, Isolation, Durabilité)
Propriétés garantissant la fiabilité des transactions dans les bases de données relationnelles pour préserver l'intégrité des données.
Mis à jour le 25 janvier 2026
ACID est un acronyme désignant quatre propriétés fondamentales garantissant la fiabilité des transactions dans les systèmes de gestion de bases de données. Ces propriétés - Atomicité, Cohérence, Isolation et Durabilité - assurent que les opérations sur les données restent fiables même en cas de pannes, d'erreurs ou d'accès concurrents. Développé dans les années 1980, ce modèle constitue la pierre angulaire des bases de données relationnelles modernes.
Fondements
- Atomicité : une transaction s'exécute entièrement ou pas du tout (principe du tout-ou-rien)
- Cohérence : toute transaction fait passer la base de données d'un état valide à un autre état valide
- Isolation : les transactions concurrentes s'exécutent comme si elles étaient séquentielles
- Durabilité : une fois validée, une transaction persiste même en cas de panne système
Avantages
- Garantie d'intégrité des données critique pour les applications financières, médicales et commerciales
- Protection contre la corruption des données lors de pannes système ou d'erreurs applicatives
- Gestion transparente de la concurrence permettant des accès simultanés sécurisés
- Conformité réglementaire facilitée pour les secteurs nécessitant des audits de données
- Simplification du développement applicatif grâce aux garanties au niveau base de données
Exemple concret
Prenons l'exemple classique d'un virement bancaire entre deux comptes. Cette opération illustre parfaitement les quatre propriétés ACID :
BEGIN TRANSACTION;
-- Débiter le compte source
UPDATE comptes
SET solde = solde - 500
WHERE id = 'A123';
-- Créditer le compte destination
UPDATE comptes
SET solde = solde + 500
WHERE id = 'B456';
-- Vérification de cohérence
IF (SELECT solde FROM comptes WHERE id = 'A123') >= 0 THEN
COMMIT; -- Valide la transaction
ELSE
ROLLBACK; -- Annule tout si solde négatif
END IF;Dans cet exemple : l'Atomicité garantit que les deux mises à jour s'effectuent ensemble ou pas du tout ; la Cohérence préserve la règle métier (solde non négatif) ; l'Isolation empêche d'autres transactions d'observer un état intermédiaire ; la Durabilité assure que le virement validé ne sera jamais perdu.
Mise en œuvre
- Identifier les opérations nécessitant des garanties transactionnelles (transferts, commandes, mises à jour critiques)
- Délimiter explicitement les transactions avec BEGIN/COMMIT/ROLLBACK dans votre code
- Définir les contraintes de cohérence (clés étrangères, contraintes CHECK, triggers) au niveau base de données
- Choisir le niveau d'isolation approprié selon vos besoins (READ COMMITTED, SERIALIZABLE, etc.)
- Implémenter une gestion d'erreurs robuste avec rollback automatique en cas d'échec
- Tester les scénarios de concurrence et les comportements en cas de panne
- Monitorer les performances et optimiser la durée des transactions pour minimiser les verrous
Conseil professionnel
Les transactions ACID ont un coût en performance. Pour des systèmes à haute volumétrie, évaluez si toutes vos opérations nécessitent réellement ces garanties. Certaines données peuvent tolérer une cohérence éventuelle (BASE), permettant une scalabilité horizontale. L'architecture moderne combine souvent bases ACID pour les données critiques et bases NoSQL pour le reste.
Outils associés
- PostgreSQL : base de données open-source avec support ACID complet et niveaux d'isolation configurables
- MySQL/MariaDB (avec InnoDB) : moteur de stockage transactionnel largement utilisé
- Oracle Database : solution enterprise avec optimisations avancées pour les transactions ACID
- Microsoft SQL Server : support ACID avec fonctionnalités de haute disponibilité
- SQLite : base embarquée ACID pour applications locales
- Transaction managers : comme Spring @Transactional pour gérer les transactions applicatives
Les propriétés ACID représentent un investissement en fiabilité qui se traduit directement par la confiance des utilisateurs et la réduction des risques métier. Dans des secteurs où l'exactitude des données est non négociable - finance, santé, e-commerce - ces garanties constituent un avantage concurrentiel majeur. Bien que les architectures distribuées modernes explorent des modèles alternatifs, ACID reste le standard de référence pour les données critiques nécessitant une intégrité absolue.
