Cassandra · Lección 16
¿Para qué sirven los batches y las transacciones ligeras y cuándo evitarlos?
Las transacciones ligeras (IF NOT EXISTS) tienen el mismo coste que una escritura normal, así que conviene usarlas en todas las escrituras
Un logged batch garantiza que las escrituras (típicamente a varias tablas desnormalizadas) se apliquen todas o ninguna, pero cuesta más y no sirve para cargas masivas, y un batch con muchas particiones sobrecarga al coordinador; las transacciones ligeras (IF NOT EXISTS) usan Paxos y varias rondas de red, así que se reservan para casos concretos
Agrupar miles de escrituras de distintas particiones en un batch es la forma recomendada de acelerar cargas masivas en Cassandra
Un logged batch ofrece aislamiento total entre transacciones concurrentes, igual que una transacción ACID de una base relacional
Cassandra · Lección 16
Completa el código
Las transacciones ligeras se basan en el protocolo
Revisa: Paxos.
Cassandra · Lección 16
¿Por qué un batch con muchas particiones no acelera las escrituras?
Pista: el coordinador debe gestionar y reenviar escrituras a muchos nodos distintos y se sobrecarga; el batch está pensado para atomicidad, no para rendimiento, y es mejor enviar escrituras individuales asíncronas a su partición.
✓
¡Lección completada!
Batches y transacciones ligeras (LWT)
0
XP ganado
3
Vidas restantes