¿Cuál es el significado de consistencia eventual en Cassandra cuando los nodos en un único clúster no contienen las copias de los mismos datos, pero los datos se distribuyen entre los nodos. Ahora, ya que una sola porción de datos se registra en un solo lugar (nodo). ¿Por qué Cassandra no devolvería el valor reciente de ese único lugar registrado? ¿Cómo surgen las copias múltiples en esta situación?Significado de la consistencia eventual en Cassandra?
Respuesta
Depende del cliente decidir el nivel de consistencia apropiado (cero, cualquiera, uno, quoram o todo). (El nivel de coherencia controla el comportamiento de lectura y escritura en función de su factor de replicación). En un clúster de nodo único, los niveles de consistencia any, one, quorom y all son equivalentes.
Incluso con el factor de replicación = 1, la coherencia no es necesariamente inmediata porque las escrituras están almacenadas en el nodo al que las envía y por lo tanto no necesariamente se envían inmediatamente al nodo responsable de esa clave.
Pero depende del nivel de consistencia que elija.
Principalmente el caso de uso para Cassandra es con factor de replicación> 1, que es donde la consistencia se convierte en un problema mayor. RF = 3 parece ser un ajuste común (ya que permite quórum lee/escribe con un nodo no disponible)
¿Cuánto tiempo puede transcurrir antes de que la escritura se vacíe de memtable (memoria intermedia) al disco (= al nodo responsable)? – Kozuch
Aquí está un buen explicar acerca eventualmente consistentes: http://www.allthingsdistributed.com/2008/12/eventually_consistent.html
Cassandra tiende a comprometer la latencia y la consistencia disponibilidad . Es "finalmente consistente", un modelo para la coherencia de la base de datos NoSQL que se usa con las configuraciones distribuidas. En lugar de mantener una coherencia estricta que realmente podría ralentizar las cosas a escala, la coherencia final permite una alta disponibilidad, solo a costa de que cada instancia de sus datos no se sincronice en todos los servidores de inmediato.
La consistencia de Cassandra se puede ajustar. ¿Qué se puede ajustar?
* Número de nodos necesarios para aceptar los datos de las lecturas .. llámelo R * Número de nodos necesarios para acordar los datos para las escrituras. Llámelo W
En caso de 3 nodos, si elegimos 2R y 2W .. luego durante una lectura, si 2 nodos están de acuerdo en un valor, ese es el verdadero valor. El tercero puede o no tener el mismo valor.
En caso de escritura, si se elige 2W, si los datos se escriben en 2 nodos, se considera suficiente. Este modelo ES consistente.
Si R + w < = N donde N es el número de nodos, eventualmente será consistente.
Cassandra mantiene una marca de tiempo con cada columna y cada campo de columna para que finalmente sea consistente. Hay un mecanismo en el fondo para alcanzar un estado consistente.
Pero como dije, si R + W> N, entonces es sólido consistente. Es por eso que la consistencia se considera sintonizable en Cassandra.
- 1. Consistencia eventual
- 2. CQRS - La consistencia eventual
- 3. ¿Es posible administrar usuarios/identidades en un almacén de datos que muestre consistencia eventual?
- 4. ¿Hasta dónde puede llegar realmente con una consistencia "eventual" y sin transacciones (también conocido como SimpleDB)?
- 5. -su-propio-escribe la consistencia en MongoDB
- 6. Envases para mantener la consistencia
- 7. Consistencia de Colorbox en los navegadores
- 8. Consistencia de fuentes en todo el proyecto?
- 9. ¿Por qué std :: forward descarta la consistencia?
- 10. Lograr la consistencia del color en diferentes monitores
- 11. Java Thread - Errores de consistencia de memoria
- 12. ¿Implementas Cassandra en EC2?
- 13. Problema de replicación de datos de Cassandra
- 14. Significado de! en la sintaxis de Java
- 15. Significado de '*' en CSS
- 16. Significado de la palabra clave 'privada' en Alloy? Significado de la declaración 'enum'?
- 17. Significado de la etiqueta padre en Maven
- 18. Cambiar de MySQL a Cassandra - Pros/Contras?
- 19. Consistencia de fuente en un área de texto
- 20. Cassandra UnavailableException()
- 21. Cassandra - soporte de transacciones
- 22. ¿Cuándo Cassandra golpea la ley de Amdahl?
- 23. Significado de la declaración de la función
- 24. Disponibilidad de Cassandra
- 25. Transacción con el modelo de datos de Cassandra
- 26. ¿Cómo lograr la consistencia adecuada CSS line-height
- 27. Búsqueda de comodines en la base de datos de cassandra
- 28. ¿Cómo asegurar la consistencia de las enumeraciones en la serialización de Java?
- 29. Rangos de tiempo de almacenamiento en cassandra
- 30. Significado de -DHAVE_CONFIG_H en makefiles
pero la coherencia entre qué datos?, Ya que un solo dato se encuentra en un solo lugar en un clúster ... hay múltiples copias de datos ... entonces, ¿qué consistencia? –
en un clúster de nodo único, no tiene que preocuparse por la coherencia (siempre que no realice escrituras asincrónicas (CL.ZERO, no use esta)). – Schildmeijer
lo siento, creo que me entendiste mal ... me refiero a un clúster con varios nodos, los datos se distribuyen/fragmentan (y ** no se replican **) por lo que no hay copias múltiples de una sola pieza de datos entre diferentes nodos en n-node cassandra cluster, ¿cómo se define la consistencia en este caso donde, de hecho, no hay copias múltiples? ... espero que tenga mi punto ... –