CAP Theorem
Le théorème CAP énonce qu'en cas de partition réseau, un système distribué ne peut satisfaire qu'une seule des deux propriétés entre cohérence (C) et disponibilité (A) ; les trois ne peuvent tenir simultanément.
Objectif
Révéler le compromis fondamental des systèmes distribués et guider le choix du magasin de données.
Mécanisme
Cohérence (tous les nœuds voient la même vue), disponibilité (toute requête reçoit une réponse), tolérance au partitionnement (le fonctionnement continue malgré les partitions). Les partitions étant inévitables, le choix pratique se fait entre CP (forte cohérence) et AP (haute disponibilité). CP : ZooKeeper, Spanner ; AP : Cassandra, DynamoDB.
Cas d’usage
- Choix du stockage distribué
- Architecture des données en microservices
- Stratégie de déploiement multirégion
- Compromis entre cohérence et disponibilité
Exemples
- entrée
During a network partitionOutputChoose C (reject inconsistency) or A (allow it)CP vs AP
Erreurs courantes
- Believing all three of CAP can be satisfied simultaneously
- Partitions are unavoidable; choose between CP and AP
Termes associés
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). GLOSSAIRE
BASE
BASE est le modèle NoSQL à cohérence faible : fondamentalement disponible, état souple, éventuellement cohérent ; il échange la forte cohérence contre disponibilité et scalabilité. GLOSSAIRE
NoSQL
NoSQL est le terme générique des bases de données non relationnelles, incluant les modèles document, clé-valeur, familles de colonnes et graphes, conçues pour l'évolutivité et des schémas flexibles. GLOSSAIRE