Théorème CAP
Il est très important de comprendre les limites des bases de données NoSQL. NoSQL ne peut pas assurer la cohérence et la haute disponibilité ensemble. Cela a été exprimé pour la première fois par Eric Brewer dans le théorème CAP.
Le théorème CAP est également appelé théorème de Brewer indique que nous ne pouvons obtenir que deux garanties sur trois au maximum pour une base de données: cohérence, disponibilité et tolérance de partition.
- Cohérence: chaque client doit avoir une vue cohérente ou identique des données.
- Disponibilité: les données doivent être disponibles pour tous les clients pour les opérations de lecture et d’écriture.
- Tolérance de partition: le système doit bien fonctionner sur les réseaux distribués.
Cohérence
Les données doivent rester cohérentes même après l’exécution d’une opération. Cela signifie qu’une fois les données écrites, toute requête de lecture doit contenir ces données. Par exemple, après la mise à jour du statut de la commande, tous les clients devraient pouvoir voir les mêmes données.
Disponibilité
La base de données doit toujours être disponible et réactive. Il ne devrait y avoir aucun temps d’arrêt.
Tolérance de partition
La tolérance de partition ou tolérance de panne est le troisième élément du théorème CAP. La tolérance de partitionnement mesure la capacité d’un système à continuer son service lorsque certaines de ses grappes (clusters) deviennent indisponibles.