Consistency Level

Les données peuvent être copiées sur plusieurs nœuds au sein du cluster. Cassandra utilise un paramètre de cohérence pour gérer la cohérence des données.

FondamentalREAD & WRITE

READ level :

Le niveau de cohérence en lecture détermine le nombre de nœuds devant être interrogés par le Cluster avant que celui-ci ne retourne la donnée suite à la demande de lecture du client.

WRITE Level :

Le niveau de cohérence en écriture détermine le nombre de nœuds sur lesquels doit être écrit la donnée avant de valider l''écriture faite par le client.

Rappel

ColonneInformations[1]

Pour rappel, une colonne dans Cassandra contient un nom, une valeur et un timestamp.

Le timestamp est la date à laquelle la valeur a été écrite dans le nœud, et c'est cette valeur que l'on va utiliser pour réguler la cohérence des données.

FondamentalValeurs possibles

Il existe plusieurs valeurs possibles pour le Consistency Level, dont les plus importantes :

  • ONE : un seul nœud est consulté / l'écriture est validée après écriture sur un seul nœud.

  • QUORUM : (RF/2) +1 nœuds sont consultés / l'écriture est validée après écriture sur (RF/2) +1 nœuds.

  • ALL : RF nœuds sont consultés / l'écriture est validée après écriture sur RF nœuds

Fondamental

En lecture, si le CL est supérieur à ONE alors la valeur du timestamp est utilisée. C'est la donnée dont le timestamp est le plus récent (plus élevé) qui sera finalement envoyée au client.

La donnée retournée sera donc la plus récente parmi les CL données lues.

Attention

En lecture, si le CL n'est pas fixé à ALL, alors il est impossible d'assurer la validité de la donnée renvoyée.

Il est en effet possible que la donnée renvoyée soit en fait une copie qui n'a pas encore été mise à jour.