View a markdown version of this page

Coerenza di lettura di DynamoDB - Amazon DynamoDB

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

Coerenza di lettura di DynamoDB

Amazon DynamoDB legge dati da tabelle, indici secondari locali (LSI), indici secondari globali (GSI) e flussi. Per ulteriori informazioni, consulta Componenti principali di Amazon DynamoDB. Sia le tabelle che gli indici LSI forniscono due opzioni di coerenza di lettura: Alla fine coerente (impostazione predefinita) ed Elevata consistenza di lettura. Tutte le letture dagli indici GSI e dai flussi sono di tipo "Alla fine coerente".

Quando l'applicazione scrive i dati in una tabella DynamoDB e riceve una risposta HTTP 200 (OK), significa che la scrittura è stata completata correttamente ed è stata resa persistente. DynamoDB fornisce l'isolamento read-committed, che garantisce che le operazioni di lettura restituiscano sempre valori sottoposti a commit per un elemento. La lettura non presenterà mai una visualizzazione dell'elemento da una scrittura che alla fine non ha avuto successo. Read-committedl'isolamento non impedisce le modifiche dell'elemento immediatamente dopo l'operazione di lettura.

Letture a coerenza finale

"Alla fine coerente" rappresenta il modello di coerenza di lettura predefinito per tutte le operazioni di lettura. Quando si eseguono letture eventualmente coerenti su una tabella o un indice DynamoDB, le risposte potrebbero non riflettere i risultati di un'operazione di scrittura completata di recente. Se si ripete la richiesta di lettura dopo breve tempo, la risposta deve restituire alla fine i dati più recenti. Le letture a coerenza finale sono supportate in tabelle, indici secondari locali e indici secondari globali. Si consideri inoltre che anche tutte le letture da un flusso DynamoDB alla fine sono di tipo Alla fine coerente.

Alla fine, le letture a coerenza finale costano la metà delle letture a elevata consistenza. Per ulteriori informazioni, consulta Prezzi di Amazon DynamoDB.

Operazioni a elevata consistenza di lettura

Le operazioni di lettura, come GetItem, Query e Scan, forniscono un parametro ConsistentRead facoltativo. Se si imposta ConsistentRead su true, DynamoDB restituisce una risposta con i dati più aggiornati che riflette gli aggiornamenti da tutte le operazioni di scrittura precedenti. Le letture a elevata consistenza sono supportate solo nelle tabelle e negli indici secondari locali. Non sono supportate letture a elevata consistenza da un indice secondario globale o da un flusso DynamoDB.

Consistenza di lettura per le tabelle globali

DynamoDB supporta anche tabelle globali per la replica multiattiva e multiregionale. Una tabella globale è composta da più tabelle di replica in diverse regioni. AWS Qualsiasi modifica apportata a qualsiasi elemento in una tabella di replica viene replicata su tutte le altre repliche all'interno della stessa tabella globale.

Le tabelle globali supportano due modalità di coerenza. Con Multi-region Eventual Consistency (MREC), la modalità predefinita, le modifiche agli elementi vengono replicate sulle altre repliche in genere entro un secondo e alla fine sono coerenti tra le regioni. Con la coerenza forte multiregionale (MRSC), le modifiche agli elementi vengono replicate in modo sincrono in un'altra regione prima che venga ripristinata la scrittura e le operazioni di lettura fortemente coerenti su qualsiasi replica restituiscono sempre la versione più recente di un elemento. Per ulteriori informazioni, consulta Modalità di coerenza.