12
votes

Signification de la consistance éventuelle à Cassandra?

Quelle est la signification de la consistance éventuelle dans Cassandra lorsque les nœuds d'un seul cluster ne contiennent pas les copies des mêmes données, mais les données sont distribuées entre les nœuds. Maintenant, depuis qu'un seul morceau de données est enregistré à un seul endroit (noeud). Pourquoi Cassandra ne ferait-il pas de retourner la valeur récente de ce lieu de record unique? Comment plusieurs copies se posent-elles dans cette situation?


0 commentaires

5 Réponses :


4
votes

C'est au client pour décider du niveau de consistance approprié (zéro, tout, un, quoram ou tout). (Le niveau de consistance contrôle à la fois des comportements de lecture et d'écriture basés sur votre réplicationFactor.) Dans un seul noeud grappe, les niveaux de cohérence, un, un, quorom et tous sont équivalents.


4 commentaires

Mais la consistance entre quelles données?, étant donné qu'une donnée unique est située à une seule place d'un cluster .. Il n'y a pas de copies de données..cevoir quelle cohérence?


Sur un seul cluster de noeud, vous n'avez pas à vous soucier de la cohérence (aslong que vous ne faites pas d'écrivies asynchrones (CL.Zero, n'utilisez pas celui-ci)).


je suis désolé je pense que tu me as t-tu me tromper .. Je veux dire dans un cluster avec plusieurs nœuds, les données sont distribuées / frites (et non répliquées ), donc il n'y a pas de plusieurs copies d'une seule pièce de données parmi Différents nœuds du groupe N-node Cassandra, alors comment la consistance est-elle définie dans ce cas où il y a, en général, aucune copie multiple? ... J'espère que vous avez eu mon point ..


Si vous avez un réplicationFactor = 1, il n'y aura qu'une seule réplique de chaque ensemble de données. Comme indiqué dans ma réponse ci-dessus: "Le niveau de consistance contrôle à la fois des comportements de lecture et d'écriture basés sur votre réplicationFactor"



2
votes

Même avec le facteur de réplication = 1, la cohérence n'est pas nécessairement immédiate car les écritures sont tamponnées sur le nœud que vous les envoyez et que vous n'êtes donc pas nécessairement immédiatement envoyé au nœud responsable de cette clé.

Mais cela dépend du niveau de consistance que vous choisissez.

La plupart du temps le cas d'utilisation de Cassandra est avec le facteur de réplication> 1, lequel est la consistance devient plus un problème. RF = 3 semble être un paramètre commun (car il permet de lire le quorum / écrit avec un nœud indisponible)


1 commentaires

Combien de temps peut-il prendre avant que l'écriture soit rinçue du mémorable (mémoire tampon de mémoire) sur le disque (= au nœud responsable)?



2
votes

Voici une belle expliquer à propos de la cohérence: 0 commentaires


1
votes

Cassandra a tendance à compromettre la latence et la cohérence pour la disponibilité. C'est "éventuellement cohérent", un modèle de cohérence de la base de données NOSQL utilisée avec des configurations distribuées. Plutôt que de maintenir une consistance stricte qui pourrait vraiment ralentir les choses à l'échelle, la cohérence éventuelle permet une disponibilité élevée - juste au coût de chaque instance de vos données ne sont pas synchrontées à tous les serveurs.


0 commentaires

5
votes

La consistance de Cassandra est syndical. Que peut être à l'écoute?
* Nombre de nœuds nécessaires pour être d'accord sur les données pour les lectures. Appelez-le r * Nombre de nœuds nécessaires pour être d'accord sur les données d'écrivies. Appelez-le w
Dans le cas de 3 nœuds, si nous avons choisi 2R et 2W .. Ensuite, lors d'une lecture, si 2 nœuds sont d'accord sur une valeur, c'est la valeur réelle. Le 3 mai ou peut ne pas avoir la même valeur.
En cas d'écriture, si 2W est choisi, si les données sont écrites sur 2 nœuds, il est considéré comme suffisant. Ce modèle est cohérent.
Si r + w <= n où n est le nombre de nœuds, il sera finalement cohérent.
Cassandra maintient un horodatage avec chaque colonne et chaque champ de colonne pour devenir éventuellement cohérent. Il y a un mécanisme de fond pour atteindre un état cohérent.
Mais comme je l'ai dit, si r + w> n, alors il est constant solide. C'est pourquoi la cohérence est jugée disable à Cassandra.


0 commentaires