Examinons en détail les trois caractéristiques d’un système distribué auxquelles se réfère le théorème CAP.
Cohérence
La cohérence signifie que tous les clients voient les mêmes données en même temps, quel que soit le nœud auquel ils se connectent. Pour que cela soit possible, à chaque fois que des données sont écrites sur un nœud, elles doivent être transférées ou répliquées instantanément vers tous les autres nœuds du système avant que l’écriture ne soit considérée comme « réussie ».
Disponibilité
La disponibilité signifie qu’un client qui effectue une requête de données obtient une réponse, même si un ou plusieurs nœuds sont en panne. Autrement dit : tous les nœuds actifs du système distribué renvoient une réponse valide à toutes les requêtes, sans exception.
Tolérance au partitionnement
Un partitionnement est une interruption de communication au sein d’un système distribué, c’est-à-dire une connexion perdue ou temporairement retardée entre deux nœuds. La tolérance au partitionnement signifie que la grappe (cluster) doit continuer à fonctionner quel que soit le nombre d’interruptions de communication entre les nœuds du système.