

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
<a name="consistency"></a>

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). 

**Topics**
+ [Livelli di coerenza di scrittura](#WriteConsistency)
+ [Leggi i livelli di coerenza](#ReadConsistency)
+ [Livelli di coerenza non supportati](#UnsupportedConsistency)

## Livelli di coerenza di scrittura
<a name="WriteConsistency"></a>

 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-1"))  
                      .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
<a name="ReadConsistency"></a>

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 (RCUs) per le tabelle che utilizzano la modalità di capacità fornita o 0,5 unità di richiesta di lettura (RRUs) 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à on demand. 


**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 RCUs | 0,5 RRUs | 
| LOCAL\$1ONE | 0,5 RCUs | 0,5 RRUs | 
| LOCAL\$1QUORUM | 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
<a name="UnsupportedConsistency"></a>

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\$1QUORUM | Non supportata | 
| QUORUM | Non supportata | 
| ALL  | Non supportata | 
| TWO | Non supportata | 
| THREE | Non supportata | 
| ANY | Non supportata | 
| SERIAL | Non supportata | 
| LOCAL\$1SERIAL | Non supportata | 