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à.
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).
Argomenti
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: ONE
LOCAL_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.
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.
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 |