In particolare stavo guardando this page in cui si dice:Quali sono le implicazioni dell'utilizzo di transazioni leggere?
Se le operazioni leggeri sono utilizzati per scrivere in una riga all'interno di una partizione, solo le operazioni leggeri per entrambe le operazioni di lettura e scrittura devono essere utilizzati.
Sono confuso su come utilizzare le LWT per operazioni di lettura. Nello specifico, questo si riferisce ai livelli di coerenza per-query (e serialConsistency).
Il description per SERIAL
lettura coerenza solleva altre domande:
Permette la lettura dello stato attuale (e probabilmente non impegnati) di dati senza proporre una nuova aggiunta o aggiornamento.
Ciò suggerisce che l'utilizzo di SERIAL
per le letture non "utilizza un LWT".
Ma poi
- Come fa Cassandra sa per verificare la presenza di transazioni in corso quando si esegue una lettura?
- Qual è il nuovo aggiornamento proposto mentre si sta tentando di leggere e in che modo ciò influisce sulla lettura?
- Come funzionerebbe se la coerenza che stai leggendo (ad esempio
ONE
per esempio) è inferiore alla serialConsistency utilizzata per la scrittura? - Una volta che si utilizza un LWT su un tavolo (o riga? O colonna?), Tutte le letture non
SERIAL
sono obbligate a prendere la penalità di partecipare ai quorum e all'algoritmo di transazione? - Il requisito si applica effettivamente all'intera riga o solo alle colonne coinvolte nell'istruzione condizionale?
Se ignoro questo consiglio e faccio letture/scritture sia seriali che non seriali. In che modo le LWT falliscono?
Correlato: http://stackoverflow.com/q/28836083/476716 – OrangeDog