Best practice e requisiti per la gestione delle tabelle globali - 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à.

Best practice e requisiti per la gestione delle tabelle globali

Importante

Questa documentazione riguarda la versione 2017.11.29 (legacy) delle tabelle globali, che dovrebbe essere evitata per le nuove tabelle globali. I clienti devono utilizzare la versione 2019.11.21 (corrente) di Global Tables quando possibile, poiché offre maggiore flessibilità, maggiore efficienza e consuma meno capacità di scrittura rispetto alla 2017.11.29 (Legacy).

Per determinare la versione in uso, consultare Determinare la versione delle tabelle globali che si sta utilizzando. Per aggiornare le tabelle globali esistenti dalla versione 2017.11.29 (legacy) alla versione 2019.11.21 (corrente), consultare Aggiornamento delle tabelle globali.

Utilizzando le tabelle globali di Amazon DynamoDB, puoi replicare i dati delle tabelle tra le regioni. AWS Per garantire la corretta replica dei dati è necessario che le tabelle di replica e gli indici secondari nella tabella globale abbiano impostazioni di capacità di scrittura identiche.

Versione per tabelle globali

Sono disponibili due versioni delle tabelle globali DynamoDB: Global Tables versione 2019.11.21 (corrente) e. Tabelle globali versione 2017.11.29 (Legacy) I clienti devono utilizzare la versione 2019.11.21 (corrente) di Global Tables quando possibile, poiché offre maggiore flessibilità, maggiore efficienza e consuma meno capacità di scrittura rispetto alla 2017.11.29 (Legacy).

Per determinare la versione in uso, consultare Determinare la versione delle tabelle globali che si sta utilizzando. Per aggiornare le tabelle globali esistenti dalla versione 2017.11.29 (legacy) alla versione 2019.11.21 (corrente), consultare Aggiornamento delle tabelle globali.

Requisiti per l'aggiunta di una nuova tabella di replica

Se si desidera aggiungere una nuova tabella di replica a una tabella globale, ciascuna delle seguenti condizioni deve essere true:

  • La tabella deve avere la stessa chiave di partizione di tutte le altre repliche.

  • La tabella deve avere le stesse impostazioni di gestione della capacità di scrittura specificate.

  • La tabella deve avere lo stesso nome di tutte le altre repliche.

  • La tabella deve avere DynamoDB Streams abilitato, con il flusso contenente sia le immagini nuove dell'elemento che le vecchie.

  • Nessuna delle tabelle di replica nuove o esistenti nella tabella globale può contenere dati.

Se sono stati specificati indici secondari globali, è necessario che siano soddisfatte anche le condizioni indicate di seguito:

  • Gli indici secondari globali devono avere lo stesso nome.

  • Gli indici secondari globali devono avere la stessa chiave di partizione e la stessa chiave di ordinamento (se presente).

Importante

Le impostazioni della capacità di scrittura devono essere impostate in modo coerente in tutte le tabelle di replica delle tabelle globali e negli indici secondari corrispondenti. Per aggiornare le impostazioni della capacità di scrittura per la tabella globale, si consiglia vivamente di utilizzare la console DynamoDB o l'operazione API UpdateGlobalTableSettings. UpdateGlobalTableSettings applica automaticamente le modifiche alle impostazioni della capacità di scrittura a tutte le tabelle di replica e agli indici secondari corrispondenti in una tabella globale. Se si utilizzano le operazioni UpdateTable, RegisterScalableTarget o PutScalingPolicy, è necessario applicare la modifica a ogni tabella di replica e indice secondario corrispondente singolarmente. Per ulteriori informazioni, consulta UpdateGlobalTableSettingsAmazon DynamoDB API Reference.

È consigliabile abilitare la scalabilità automatica per gestire le impostazioni della capacità in scrittura assegnata. Se si preferisce gestire manualmente le impostazioni della capacità di scrittura, assegnare lo stesso numero di unità di capacità di scrittura replicata a tutte le tabelle di replica. È inoltre possibile assegnare lo stesso numero di unità di capacità di scrittura replicata per gli indici secondari corrispondenti nella tabella globale.

È inoltre necessario disporre delle autorizzazioni appropriate AWS Identity and Access Management (IAM). Per ulteriori informazioni, consulta Uso di IAM con le tabelle globali.

Best practice e requisiti per la gestione della capacità

Quando si gestiscono le impostazioni di capacità per le tabelle di replica in DynamoDB, tenere presente quanto segue.

Utilizzo del dimensionamento automatico di DynamoDB

L'utilizzo della scalabilità automatica DynamoDB è il modo consigliato per gestire le impostazioni della capacità di velocità effettiva per le tabelle di replica che utilizzano la modalità assegnata. La scalabilità automatica di DynamoDB regola automaticamente le unità di capacità di lettura (RCU) e le unità di capacità di scrittura (WCU) per ogni tabella di replica in base al carico di lavoro effettivo dell'applicazione. Per ulteriori informazioni, consulta Gestione automatica della capacità effettiva di trasmissione con il dimensionamento automatico di DynamoDB.

Se si creano le tabelle di replica utilizzando AWS Management Console, la scalabilità automatica è abilitata per impostazione predefinita per ogni tabella di replica, con impostazioni di ridimensionamento automatico predefinite per la gestione delle unità di capacità di lettura e delle unità di capacità di scrittura.

Le modifiche apportate alle impostazioni di scalabilità automatica per una tabella di replica o un indice secondario effettuate tramite la console DynamoDB o utilizzando la chiamata UpdateGlobalTableSettings vengono applicate automaticamente a tutte le tabelle di replica e gli indici secondari corrispondenti nella tabella globale. Queste modifiche sovrascrivono eventuali impostazioni di scalabilità automatica esistenti. Ciò garantisce che le impostazioni della capacità di scrittura assegnata siano coerenti tra le tabelle di replica e gli indici secondari della tabella globale. Se si utilizzano le chiamate UpdateTable, RegisterScalableTarget o PutScalingPolicy, è necessario applicare la modifica a ogni tabella di replica e indice secondario corrispondente singolarmente.

Nota

Se la scalabilità automatica non soddisfa le modifiche di capacità dell'applicazione (carico di lavoro imprevedibile) o se non si desidera configurarne le impostazioni (impostazioni di destinazione per soglia minima, massima o soglia di utilizzo), per gestire la capacità delle tabelle globali è possibile utilizzare la modalità on demand. Per ulteriori informazioni, consulta Modalità on demand.

Se si abilita la modalità on demand su una tabella globale, il consumo delle unità di richiesta di scrittura replicata (rWCU) sarà coerente con il modo in cui le rWCU vengono assegnate. Ad esempio, se si eseguono 10 scritture su una tabella locale replicata in due regioni aggiuntive, si consumeranno 60 unità di richiesta di scrittura (10 + 10 + 10 = 30; 30 x 2 = 60). Le 60 unità di richiesta di scrittura utilizzate includono le richieste di scrittura extra utilizzate dalle tabelle globali versione 2017.11.29 (legacy) per aggiornare gli attributi aws:rep:deleting, aws:rep:updatetime e aws:rep:updateregion.

Gestione manuale della capacità

Se si decide di non utilizzare la scalabilità automatica di DynamoDB, sarà necessario impostare manualmente le impostazioni di capacità di lettura e scrittura su ogni tabella di replica e indice secondario.

Le unità di capacità di scrittura replicata (rWCU, Replicated Write Capacity Unit) assegnata in ogni tabella di replica devono essere impostate sul numero totale di rWCU necessarie per le scritture delle applicazioni in tutte le regioni moltiplicate per due. Ciò supporta le scritture delle applicazioni che si verificano nella regione locale e le scritture delle applicazioni replicate provenienti da altre regioni. Si supponga, ad esempio, di prevedere 5 scritture al secondo nella tabella di replica in Ohio e 5 scritture al secondo nella tabella di replica in Virginia settentrionale. In questo caso, è necessario fornire 20 RWCU a ciascuna tabella di replica (5+ 5 = 10; 10 x 2 = 20).

Per aggiornare le impostazioni della capacità di scrittura per la tabella globale, si consiglia vivamente di utilizzare la console DynamoDB o l'operazione API UpdateGlobalTableSettings. UpdateGlobalTableSettings applica automaticamente le modifiche alle impostazioni della capacità di scrittura a tutte le tabelle di replica e agli indici secondari corrispondenti in una tabella globale. Se si utilizzano le operazioni UpdateTable, RegisterScalableTarget o PutScalingPolicy, è necessario applicare la modifica a ogni tabella di replica e indice secondario corrispondente singolarmente. Per ulteriori informazioni, consulta la Documentazione di riferimento delle API di Amazon DynamoDB.

Nota

Per aggiornare le impostazioni (UpdateGlobalTableSettings) per una tabella globale in DynamoDB, è necessario disporre delle autorizzazioni dynamodb:UpdateGlobalTable, dynamodb:DescribeLimits, application-autoscaling:DeleteScalingPolicy e application-autoscaling:DeregisterScalableTarget. Per ulteriori informazioni, consulta Uso di IAM con le tabelle globali.