Utilizzo degli indici secondari globali per creare una replica alla fine coerente in 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à.

Utilizzo degli indici secondari globali per creare una replica alla fine coerente in DynamoDB

È possibile utilizzare un indice secondario globale per creare una replica di consistenza finale di una tabella. La creazione di una replica può consentire il completamento delle seguenti operazioni:

  • Configurare una capacità di lettura con provisioning differente per lettori diversi. Si supponga, ad esempio, di disporre di due applicazioni: un'applicazione gestisce le query con priorità elevata e richiede i massimi livelli di prestazioni di lettura, mentre l'altra gestisce le query con priorità bassa in grado di tollerare la limitazione dell'attività di lettura.

    Se entrambe queste applicazioni leggono dalla stessa tabella, un carico di lettura pesante dall'applicazione con priorità bassa potrebbe consumare tutta la capacità di lettura disponibile per la tabella. Ciò limiterebbe l'attività di lettura dell'applicazione con priorità alta.

    È invece possibile creare una replica tramite un indice secondario globale la cui capacità di lettura può essere impostata separatamente da quella della tabella stessa. È quindi possibile fare in modo che l'app a priorità bassa interroghi la replica anziché la tabella.

  • Eliminare completamente le letture da una tabella. Ad esempio, è possibile avere un'applicazione che acquisisce un volume elevato di attività di clickstream da un sito Web e non si vuole rischiare che le letture interferiscano. È possibile isolare questa tabella e impedire la lettura da parte di altre applicazioni (consulta Utilizzo di condizioni IAM politiche per un controllo granulare degli accessi), consentendo ad altre applicazioni di leggere una replica creata utilizzando un indice secondario globale.

Per creare una replica, impostare un indice secondario globale con lo stesso schema chiave della tabella padre, con alcuni o tutti gli attributi non chiave proiettati. Nelle applicazioni, è possibile indirizzare alcune o tutte le attività di lettura a questo indice secondario globale anziché alla tabella padre. È quindi possibile regolare la capacità di lettura con provisioning dell'indice secondario globale per gestire tali letture senza modificare la capacità di lettura con provisioning della tabella padre.

C'è sempre un breve ritardo di propagazione tra una scrittura nella tabella padre e il momento in cui i dati scritti vengono visualizzati nell'indice. In altre parole, le applicazioni dovrebbero tenere conto del fatto che la replica dell'indice secondario globale è solo a consistenza finale con la tabella padre.

È possibile creare più repliche di indice secondario globale per supportare diversi modelli di lettura. Quando si creano le repliche, proiettare solo gli attributi effettivamente richiesti da ciascun modello di lettura. Un'applicazione può quindi consumare meno capacità di lettura con provisioning per ottenere solo i dati necessari anziché dover leggere l'elemento dalla tabella padre. Questa ottimizzazione può comportare significativi risparmi sui costi nel tempo.