keyspace into create allow cassandra batch-processing datastax-java-driver cassandra-2.0

into - Lotes atómicos en Cassandra



insert into cassandra (4)

La atomicidad está basada en el coordinador. Esto significa que cuando haces una mutación de lote atómico, irá a un coordinador. Si una de las mutaciones en sus lotes, 40 en su ejemplo, falla porque la réplica responsable de la misma está muerta, el coordinador escribirá una pista para esa réplica y la entregará cuando el nodo muerto se respalde.

Sin embargo, hay un escenario en el que terminarás con la mitad de las mutaciones aplicadas: si el coordinador mismo tiene problemas.

Para obtener más información acerca de los lotes atómicos, lea esto: http://www.datastax.com/dev/blog/atomic-batches-in-cassandra-1-2

¿Qué quieres decir con Batch Statements atomic in cassandra? Los documentos son un poco confusos por naturaleza para ser precisos. ¿Significa que las consultas son atómicas en los nodos del clúster?

Digamos, por ejemplo, tengo un lote con 100 consultas. Si la 40.a consulta en lote falla, ¿qué ocurre con las 39 consultas ejecutadas en el lote?

Entiendo que hay un registro de lotes creado bajo el capó y se ocupará de la coherencia de los lotes parciales. ¿Elimina el resto de las 39 entradas y proporciona la naturaleza atómica requerida de las consultas por lotes?

En MYSQL, establecemos autocommit en false y, por lo tanto, podemos deshacer. ¿Cassandra retrocede en esos casos?


los lotes atómicos deberían ser como Todo o nada. No creo que deba volver a reproducir solo el registro parcial, ya que no va con la definición de lote atómico.

-Vivek


Eventualmente Consistente es la idea principal en C *, y diseñan el lote de la misma manera. A diferencia de las transacciones en el mundo de SQL, los lotes se ''reproducen'' en lugar de retroceder cuando ocurre una falla.

Esta diferencia de diseño es razonable, porque en C *, la adición es más barata que la eliminación.

Una cosa que hay que tener en cuenta es que el aislamiento no está permitido en C *. Es decir, otros clientes aún pueden leer el valor parcialmente actualizado.

La página de discusión de características del lote en C * https://issues.apache.org/jira/browse/CASSANDRA-4285


En realidad se llaman lotes registrados, no lotes atómicos. Obtendrá más que simples pistas (que obtendría para cualquier escritura) también obtendrá el lote replicado en otros 2 nodos antes de que el coordinador comience a escribir.

Escribí un blog sobre esto hace un tiempo: http://christopher-batey.blogspot.co.uk/2015/03/cassandra-anti-pattern-cassandra-logged.html

Para su pregunta específica "¿Elimina el resto de las 39 entradas y brinda la naturaleza atómica requerida de las consultas por lotes"

No, Casssandra no tiene idea de retroceder. Las réplicas de log por lotes seguirán reintentando la consulta hasta que todas tengan éxito.