Livelli di coerenza di lettura e scrittura supportati da Apache Cassandra e costi associati - Amazon Keyspaces (per Apache Cassandra)

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Livelli di coerenza di lettura e scrittura supportati da Apache Cassandra e costi associati

Gli argomenti di questa sezione descrivono quali livelli di coerenza di Apache Cassandra sono supportati per le operazioni di lettura e scrittura in Amazon Keyspaces (per Apache Cassandra).

Livelli di coerenza di scrittura

Amazon Keyspaces replica tutte le operazioni di scrittura tre volte su più zone di disponibilità per garantire durabilità e disponibilità elevata. Le scritture vengono archiviate in modo duraturo prima di essere riconosciute utilizzando il livello di coerenza. LOCAL_QUORUM Per ogni 1 KB di scrittura, viene fatturata 1 unità di capacità di scrittura (WCU) per le tabelle che utilizzano la modalità di capacità fornita o 1 unità di richiesta di scrittura (WRU) per le tabelle che utilizzano la modalità on demand.

È possibile utilizzare il cqlsh codice seguente per impostare la coerenza di tutte le query nella sessione corrente. LOCAL_QUORUM

CONSISTENCY LOCAL_QUORUM;

Per configurare il livello di coerenza a livello di codice, è possibile impostare la coerenza con i driver client Cassandra appropriati. Ad esempio, i driver Java della versione 4.x consentono di impostare il livello di coerenza nel app config file come illustrato di seguito.

basic.request.consistency = LOCAL_QUORUM

Se utilizzate un driver Java Cassandra versione 3.x, potete specificare il livello di coerenza per la sessione aggiungendolo .withQueryOptions(new QueryOptions().setConsistencyLevel(ConsistencyLevel.LOCAL_QUORUM) come mostrato nel seguente esempio di codice.

Session session = Cluster.builder() .addContactPoint(endPoint) .withPort(portNumber) .withAuthProvider(new SigV4AuthProvider("us-east-2")) .withSSL() .withQueryOptions(new QueryOptions().setConsistencyLevel(ConsistencyLevel.LOCAL_QUORUM) .build() .connect();

Per configurare il livello di coerenza per operazioni di scrittura specifiche, potete definire la coerenza quando chiamate QueryBuilder.insertInto con un setConsistencyLevel argomento quando utilizzate il driver Java.

Leggi i livelli di coerenza

Amazon Keyspaces supporta tre livelli di coerenza di lettura: ONELOCAL_ONE, e. LOCAL_QUORUM Durante una LOCAL_QUORUM lettura, Amazon Keyspaces restituisce una risposta che riflette gli aggiornamenti più recenti di tutte le precedenti operazioni di scrittura riuscite. Utilizzando il livello di coerenza ONE o LOCAL_ONE può migliorare le prestazioni e la disponibilità delle richieste di lettura, ma la risposta potrebbe non riflettere i risultati di una scrittura completata di recente.

Per ogni utilizzo ONE o LOCAL_ONE coerenza di lettura di 4 KB, vengono fatturate 0,5 unità di capacità di lettura (RCU) per le tabelle che utilizzano la modalità di capacità fornita o 0,5 unità di richiesta di lettura (RRU) per le tabelle che utilizzano la modalità su richiesta. Per ogni 4 KB di lettura con LOCAL_QUORUM coerenza, viene fatturata 1 unità di capacità di lettura (RCU) per le tabelle che utilizzano la modalità di capacità fornita o 1 unità di richiesta di lettura (RRU) per le tabelle che utilizzano la modalità su richiesta.

Fatturazione basata sulla coerenza di lettura e sulla capacità di lettura (modalità di throughput) per tabella per ogni 4 KB di letture
Livello di coerenza Assegnata On demand
ONE 0,5 CRU 0,5 RRU
LOCAL_ONE 0,5 RCU 0,5 RRU
LOCAL_QUORUM 1 TAZZA 1 TRU

Per specificare una consistenza diversa per le operazioni di lettura, chiamate QueryBuilder.select con un setConsistencyLevel argomento quando utilizzate il driver Java.

Livelli di coerenza non supportati

I seguenti livelli di coerenza non sono supportati da Amazon Keyspaces e comporteranno delle eccezioni.

Livelli di coerenza non supportati
Apache Cassandra Amazon Keyspaces
EACH_QUORUM Non supportato
QUORUM Non supportato
ALL Non supportato
TWO Non supportato
THREE Non supportato
ANY Non supportato
SERIAL Non supportato
LOCAL_SERIAL Non supportato