Quelle est la signification de la cohérence éventuelle dans Cassandra lorsque les nœuds d'un même cluster ne contiennent pas les copies des mêmes données mais que les données sont réparties entre les nœuds. Maintenant, depuis une seule pièce de données est enregistrée à un seul endroit (noeud). Pourquoi Cassandra ne retournerait-elle pas la valeur récente de ce seul lieu d'enregistrement? Comment plusieurs copies se produisent-elles dans cette situation?Signification de la cohérence éventuelle dans Cassandra?
Répondre
C'est au client de décider du niveau de cohérence approprié (zéro, un, un, quoram ou tout). (Le niveau de cohérence contrôle les comportements de lecture et d'écriture en fonction de votre facteur de réplication.) Dans un cluster à un seul nœud, les niveaux de cohérence any, one, quorom et tous sont équivalents.
Même avec le facteur de réplication = 1, la cohérence n'est pas forcément immédiate car les écritures sont tamponnées sur le noeud auquel vous les envoyez et ne sont donc pas forcément envoyées immédiatement au noeud responsable de cette clé.
Mais cela dépend du niveau de cohérence que vous choisissez.
La plupart des cas d'utilisation de Cassandra sont liés au facteur de réplication> 1, où la cohérence devient plus problématique. RF = 3 semble être un cadre commun (car il permet Quorum lecture/écriture avec un nœud indisponible)
Combien de temps cela peut-il prendre avant que l'écriture soit vidée de memtable (mémoire tampon) vers le disque? – Kozuch
Voici une belle expliquer au sujet de la suite cohérente: http://www.allthingsdistributed.com/2008/12/eventually_consistent.html
Cassandra a tendance à compromettre la latence et la cohérence de la disponibilité . C'est "finalement cohérent", un modèle de cohérence de base de données NoSQL utilisé avec les configurations distribuées. Plutôt que de maintenir une cohérence stricte qui pourrait vraiment ralentir les choses, la cohérence éventuelle permet une haute disponibilité, au prix que chaque instance de vos données ne soit pas immédiatement synchronisée sur tous les serveurs.
La consistance de Cassandra est accordable. Qu'est-ce qui peut être réglé?
* Nombre de nœuds nécessaires pour convenir des données pour les lectures .. appelez-le R * Nombre de nœuds nécessaires pour convenir des données pour les écritures .. appelez-le W
Dans le cas de 3 nœuds, si nous avons choisi 2R et 2W .. puis lors d'une lecture, si 2 nœuds sont d'accord sur une valeur, c'est la vraie valeur. Le 3 mai mai ou ne pas avoir la même valeur.
En cas d'écriture, si 2W est choisi, alors si les données sont écrites sur 2 nœuds, cela 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 finalement devenir cohérent. Il y a un mécanisme en arrière-plan pour atteindre un état cohérent.
Mais comme je l'ai dit, si R + W> N, alors il est cohérent solide. C'est pourquoi la consistance est considérée comme accordable à Cassandra.
- 1. Définition de la cohérence éventuelle (validation tardive) dans MySQL
- 2. Cassandra - ordre de cohérence
- 3. GAE: Combien de temps attendre une cohérence éventuelle?
- 4. Utilisation de cassandra et maintien de la cohérence des données
- 5. Existe-t-il des algorithmes généraux pour obtenir une cohérence éventuelle dans les systèmes distribués?
- 6. comment tester en cas de consistance éventuelle?
- 7. Ce comportement étrange peut-il être expliqué par la cohérence éventuelle sur le magasin de données App Engine?
- 8. Comment la fonction CAS de Cassandra interagit-elle avec les niveaux de cohérence?
- 9. la cohérence de regionMonitoring
- 10. Comment définir le niveau de cohérence d'une famille de colonnes de compteurs dans Cassandra?
- 11. Vérification de la présence éventuelle d'un motif dans un texte
- 12. Quelle est la pratique courante pour gérer l'échec d'écriture Cassandra?
- 13. Cassandra échoue lors de l'écriture (deux nœuds, RF = 1, N'IMPORTE QUEL niveau de cohérence d'écriture)
- 14. Cohérence entre la cohérence et l'objet statique avec nHibernate/ASP.NET
- 15. cohérence dans _GET
- 16. Rails 3 - condition de compétition éventuelle?
- 17. Vérifier la cohérence des dates dans MATLAB
- 18. CQRS dépendances Event Event Cohérence
- 19. Vérification de la présence éventuelle d'une cellule DataGrid WPF
- 20. Que signifie la cohérence interne?
- 21. Cohérence des données dans DynamoDB
- 22. WATIR/FireWATIR La cohérence de l'URL?
- 23. La signification de OEMData
- 24. La signification de ':' et '?'
- 25. La signification de selectObjId
- 26. CoreData se prépare à une éventuelle migration
- 27. URL dans la signification MVC
- 28. Signification de (./) dans l'URI?
- 29. Signification de _ dans apply()
- 30. La réplication mySQL a-t-elle une cohérence de données immédiate?
mais la cohérence entre les données?, Car une seule donnée est située à un seul endroit dans un cluster .. il n'y a pas plusieurs copies de données .. alors quelle cohérence? –
sur un cluster à un seul nœud, vous n'avez pas à vous soucier de la cohérence (tant que vous ne faites pas d'écritures asynchrones (CL.ZERO, n'utilisez pas celui-ci)). – Schildmeijer
je suis désolé je pense que vous me avez mal ... je veux dire dans un cluster avec plusieurs nœuds, les données sont distribuées/sharded (et ** non répliquées **) donc il n'y a pas de copies multiples d'une seule donnée entre différents nœuds dans le cluster de cassandra n-noeud, alors comment est la cohérence définie dans ce cas où il n'y a, en fait, pas de copies multiples? ... j'espère que vous avez obtenu mon point .. –