Aller au contenu
uencoder

ACID

ACID désigne les quatre propriétés des transactions relationnelles : atomicité (tout ou rien), cohérence (contraintes maintenues), isolation (concurrence sans interférence), durabilité (persistance après commit).

Objectif

Garantir que les transactions soient correctes et fiables face aux pannes et à la concurrence, l'engagement central des bases de données relationnelles.

Mécanisme

Atomicité : undo log pour tout ou rien. Cohérence : les contraintes sont satisfaites avant et après. Isolation : verrous/MVCC rendent les transactions concurrentes équivalentes à séquentielles. Durabilité : redo log/WAL écrit vers stockage persistant après commit. Niveaux d'isolation croissants : lecture non validée → lecture validée → lecture reproductible → sérialisable.

Cas d’usage

  • Transactions de transfert financier
  • Commandes et déduction de stock
  • Mises à jour multi-tables
  • Opérations nécessitant une forte cohérence

Exemples

  • entrée
    BEGIN; UPDATE...; INSERT...; COMMIT
    Output
    Atomic commit or rollback

    All or nothing

Erreurs courantes

Long transactions holding locks cause blocking
Shorten transactions; use optimistic locking

Termes associés

References