Versioni delle tabelle globali 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à.

Versioni delle tabelle globali DynamoDB

Sono disponibili due versioni delle tabelle globali DynamoDB: Tabelle globali versione 2019.11.21 (Corrente) e Tabelle globali versione 2017.11.29 (Legacy). Si consiglia di utilizzare la versione 2019.11.21 (Corrente) poiché è più facile da usare, è supportata in più Regioni e ha un costo inferiore per la maggior parte dei carichi di lavoro rispetto alla versione 2017.11.29 (Legacy).

Determinare la versione di una tabella globale

Determinazione della versione utilizzando il AWS CLI

Identificazione di una replica di una tabella globale versione 2019.11.21 (Corrente)

Per determinare se una tabella è una replica delle tabelle globali versione 2019.11.21 (Corrente), invoca il comando describe-table per la tabella. Se l’output contiene l’attributo GlobalTableVersioncon il valore “2019.11.21”, allora la tabella è una replica della tabella globale versione 2019.11.21 (Corrente).

Un comando CLI di esempio per describe-table:

aws dynamodb describe-table \ --table-name users \ --region us-east-2

L’output (abbreviato) contiene l’attributo GlobalTableVersion con il valore “2019.11.21”, quindi questa tabella è una replica della tabella globale versione 2019.11.21 (Corrente).

{ "Table": { "AttributeDefinitions": [ { "AttributeName": "id", "AttributeType": "S" }, { "AttributeName": "name", "AttributeType": "S" } ], "TableName": "users", ... "GlobalTableVersion": "2019.11.21", "Replicas": [ { "RegionName": "us-west-2", "ReplicaStatus": "ACTIVE", } ], ... } }

Identificazione di una replica di una tabella globale versione 2017.11.29 (Corrente)

La versione 2017.11.29 (Legacy) utilizza un set di comandi dedicato per la gestione delle tabelle globali. Per determinare se una tabella è una replica delle tabelle globali 2017.11.29 (Legacy), invoca il comando describe-global-table per la tabella. Se si riceve una risposta positiva, la tabella è una replica di tabella globale versione 2017.11.29 (Legacy). Se il comando describe-global-table restituisce un errore GlobalTableNotFoundException, la tabella non è una replica della versione 2017.11.29 (Legacy).

Un comando CLI di esempio per describe-global-table:

aws dynamodb describe-global-table \ --table-name users \ --region us-east-2

Il comando restituisce una risposta positiva, pertanto la tabella è una replica di tabella globale versione 2017.11.29 (Legacy).

{ "GlobalTableDescription": { "ReplicationGroup": [ { "RegionName": "us-west-2" }, { "RegionName": "us-east-2" } ], "GlobalTableArn": "arn:aws:dynamodb::123456789012:global-table/users", "CreationDateTime": "2025-06-10T13:55:53.630000-04:00", "GlobalTableStatus": "ACTIVE", "GlobalTableName": "users" } }

Determinare la versione utilizzando la console DynamoDB

Per identificare la versione di una replica di una tabella globale, procedi come segue:

  1. Apri la console DynamoDB a casa. https://console.aws.amazon.com/dynamodb/

  2. Nel riquadro di navigazione sul lato sinistro della console scegli Tables (Tabelle).

  3. Seleziona la tabella per la quale desideri identificare la versione delle tabelle globali.

  4. Scegliere la scheda Global Tables (Tabelle globali).

    La sezione Riepilogo mostra la versione delle tabelle globali in uso.

Differenze di comportamento tra le versioni Legacy e Corrente

L’elenco seguente descrive le differenze di comportamento tra le versioni Legacy e Corrente delle tabelle globali.

  • La versione 2019.11.21 (Corrente) utilizza meno capacità di scrittura per diverse operazioni DynamoDB rispetto alla versione 2017.11.29 (Legacy) e pertanto è più conveniente per la maggior parte dei clienti. Le differenze per queste operazioni DynamoDB sono le seguenti:

    • PutItemPer richiamare un elemento da 1 KB in una regione e replicarlo in altre regioni sono necessarie 2 r WRUs per regione per la versione 2017.11.29 (versione precedente), ma solo 1 RWRu per la versione 2019.11.21 (versione corrente).

    • L'invocazione UpdateItemdi un elemento da 1 KB richiede 2 r WRUs nella regione di origine e 1 RWRu per regione di destinazione per 2017.11.29 (Legacy), ma solo 1 RWRu per entrambe le regioni di origine e di destinazione per la versione 2019.11.21 (corrente).

    • L'invocazione DeleteItemdi un elemento da 1 KB richiede 1 RWRu nella regione di origine e 2 r WRUs per regione di destinazione per il 2017.11.29 (Legacy), ma solo 1 RWRu sia per la regione di origine che per la regione di destinazione per la versione 2019.11.21 (corrente).

    La tabella seguente mostra l’utilizzo di rWRU delle tabelle 2017.11.29 (Legacy) e 2019.11.21 (Corrente) per un elemento da 1 KB in due Regioni.

    Operazioni 2017.11.29 (Legacy) 2019.11.21 (Corrente) Risparmi
    PutItem 4 r WRUs 2 r WRUs 50%
    UpdateItem 3 r WRUs 2 r WRUs 33%
    DeleteItem 3 r WRUs 2 r WRUs 33%
  • la versione 2017.11.29 (Legacy) è disponibile solo in 11. Regioni AWS Tuttavia, la versione 2019.11.21 (Corrente) è disponibile in tutte le Regioni AWS.

  • È possibile creare tabelle globali nella versione 2017.11.29 (Legacy) creando prima un set di tabelle regionali vuote, quindi richiamando l'API per formare la CreateGlobalTabletabella globale. Puoi creare tabelle globali nella versione 2019.11.21 (Current) richiamando l'UpdateTableAPI per aggiungere una replica a una tabella regionale esistente.

  • La versione 2017.11.29 (Legacy) richiede di svuotare tutte le repliche nella tabella prima di aggiungere una replica in una nuova Regione (anche durante la creazione). La versione 2019.11.21 (Corrente) supporta l’aggiunta e la rimozione di repliche nelle Regioni su una tabella che contiene già dati.

  • la versione 2017.11.29 (Legacy) utilizza il seguente set di piani di controllo dedicato per la gestione delle repliche: APIs

    la versione 2019.11.21 (Current) utilizza and per gestire le repliche. DescribeTableUpdateTable APIs

  • La versione 2017.11.29 (Legacy) pubblica due record dei flussi DynamoDB per ogni scrittura. La versione 2019.11.21 (Corrente) pubblica solo un record dei flussi DynamoDB per ogni scrittura.

  • La versione 2017.11.29 (Legacy) compila e aggiorna gli attributi aws:rep:deleting, aws:rep:updateregion e aws:rep:updatetime. La versione 2019.11.21 (Corrente) non compila né aggiorna questi attributi.

  • La versione 2017.11.29 (Legacy) non sincronizza le impostazioni Utilizzo del Time to Live in DynamoDB tra le repliche. La versione 2019.11.21 (Corrente) sincronizza le impostazioni del TTL tra le repliche.

  • La versione 2017.11.29 (Legacy) non replica le eliminazioni TTL su altre repliche. La versione 2019.11.21 (Corrente) replica le eliminazioni TTL su tutte le repliche.

  • La versione 2017.11.29 (Legacy) non sincronizza le impostazioni di dimensionamento automatico tra le repliche. La versione 2019.11.21 (Corrente) sincronizza le impostazioni di dimensionamento automatico tra le repliche.

  • La versione 2017.11.29 (Legacy) non sincronizza le impostazioni degli indici secondari globali (GSI) tra le repliche. La versione 2019.11.21 (Corrente) sincronizza le impostazioni degli indici secondari globali tra le repliche.

  • La versione 2017.11.29 (Legacy) non sincronizza le impostazioni di crittografia dei dati a riposo tra le repliche. La versione 2019.11.21 (Corrente) sincronizza le impostazioni di crittografia dei dati a riposo tra le repliche.

  • La versione 2017.11.29 (Legacy) pubblica la metrica PendingReplicationCount. La versione 2019.11.21 (Corrente) non pubblica questa metrica.

Aggiornamento alla versione corrente

Autorizzazioni richieste per l’aggiornamento delle tabelle globali

Per eseguire l’aggiornamento alla versione 2019.11.21 (Corrente), è necessario disporre delle autorizzazioni dynamodb:UpdateGlobalTableversion in tutte le Regioni con repliche. Queste autorizzazioni richieste si aggiungono alle autorizzazioni necessarie per accedere alla console DynamoDB e visualizzare le tabelle.

La seguente policy IAM concede le autorizzazioni per aggiornare qualsiasi tabella globale alla versione 2019.11.21 (Corrente).

{ "version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "dynamodb:UpdateGlobalTableversion", "Resource": "*" } ] }

La seguente policy IAM concede le autorizzazioni per aggiornare solo la tabella globale Music, con repliche in due Regioni, alla versione 2019.11.21 (Corrente).

{ "version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "dynamodb:UpdateGlobalTableversion", "Resource": [ "arn:aws:dynamodb::123456789012:global-table/Music", "arn:aws:dynamodb:ap-southeast-1:123456789012:table/Music", "arn:aws:dynamodb:us-east-2:123456789012:table/Music" ] } ] }

Cosa aspettarsi durante l’aggiornamento

  • Tutte le repliche di tabelle globali continueranno a elaborare il traffico di lettura e scrittura durante l’aggiornamento.

  • Il processo di aggiornamento richiede da pochi minuti a diverse ore a seconda delle dimensioni della tabella e del numero di repliche.

  • Durante il processo di aggiornamento, il valore di TableStatuscambierà da a. ACTIVE UPDATING È possibile visualizzare lo stato della tabella richiamando l'DescribeTableAPI o con la vista Tabelle nella console DynamoDB.

  • Il dimensionamento automatico non modificherà le impostazioni di capacità allocata per una tabella globale durante l’aggiornamento della tabella. Si consiglia vivamente di impostare la tabella sulla modalità con capacità on demand durante l’aggiornamento.

  • Se si sceglie di utilizzare la modalità con capacità allocata con il dimensionamento automatico durante l’aggiornamento, è necessario aumentare il throughput minimo di lettura e scrittura nelle policy per soddisfare eventuali aumenti previsti di traffico per evitare la limitazione (della larghezza di banda della rete) durante l’aggiornamento.

  • La metrica ReplicationLatency può segnalare temporaneamente i picchi di latenza o interrompere la segnalazione dei dati delle metriche durante il processo di aggiornamento. Per ulteriori informazioni, consulta ReplicationLatency.

  • Al termine del processo di aggiornamento, lo stato della tabella torna su ACTIVE.

Comportamento dei flussi DynamoDB prima, durante e dopo l’aggiornamento

Operazioni Regione di replica Comportamento prima dell’aggiornamento Comportamento durante l’aggiornamento Comportamento dopo l’aggiornamento

Put o Update

Origine

La compilazione dei timestamp avviene utilizzando. UpdateItem La popolazione del timestamp avviene utilizzando. PutItem Non viene generato alcun timestamp visibile al cliente.
Vengono generati due record di flussi. Il primo record contiene gli attributi scritti dal cliente. Il secondo record contiene gli attributi aws:rep:*. Vengono generati due record di flussi. Il primo record contiene gli attributi scritti dal cliente. Il secondo record contiene gli attributi aws:rep:*. Viene generato un singolo record di flussi contenente gli attributi scritti dal cliente.
WCUs Vengono consumate due r per ogni scrittura del cliente. WCUs Vengono consumate due r per ogni scrittura da parte del cliente. Viene utilizzata una rWCU per ogni scrittura da parte del cliente.
ReplicationLatencye le PendingReplicationCount metriche sono pubblicate in CloudWatch. ReplicationLatencye le PendingReplicationCount metriche sono pubblicate in. CloudWatch ReplicationLatencyla metrica è pubblicata in. CloudWatch

Destinazione

La replica avviene utilizzando. PutItem La replica avviene utilizzando. PutItem La replica avviene utilizzando. PutItem
Viene generato un singolo record dei flussi, che contiene sia gli attributi scritti dal cliente che gli attributi aws:rep:*. Viene generato un singolo record dei flussi, che contiene sia gli attributi scritti dal cliente che gli attributi aws:rep:*. Viene generato un singolo record dei flussi, che contiene solo gli attributi scritti dal cliente e nessun attributo di replica.
Viene utilizzata una rWCU se l’elemento esiste nella Regione di destinazione. Due r WCUs vengono consumate se l'articolo non esiste nella regione di destinazione. Viene utilizzata una rWCU se l’elemento esiste nella Regione di destinazione. Due r WCUs vengono consumati se l'articolo non esiste nella regione di destinazione. Viene utilizzata una rWCU per ogni scrittura da parte del cliente.
ReplicationLatencye le PendingReplicationCount metriche sono pubblicate in CloudWatch. ReplicationLatencye le PendingReplicationCount metriche sono pubblicate in. CloudWatch ReplicationLatencyla metrica è pubblicata in. CloudWatch

Elimina

Origine

Elimina qualsiasi elemento con un timestamp più piccolo utilizzando. DeleteItem Elimina qualsiasi elemento con un timestamp più piccolo utilizzando. DeleteItem Elimina qualsiasi elemento con un timestamp più piccolo utilizzando. DeleteItem
Viene generato un singolo record dei flussi, che contiene sia gli attributi scritti dal cliente che gli attributi aws:rep:*. Viene generato un singolo record dei flussi, che contiene sia gli attributi scritti dal cliente che gli attributi aws:rep:*. Viene generato un singolo record dei flussi, che contiene gli attributi scritti dal cliente.
Viene utilizzata una rWCU per ogni eliminazione da parte del cliente. Viene utilizzata una rWCU per ogni eliminazione da parte del cliente. Viene utilizzata una rWCU per ogni eliminazione da parte del cliente.
ReplicationLatencye le PendingReplicationCount metriche sono pubblicate in. CloudWatch ReplicationLatencye le PendingReplicationCount metriche sono pubblicate in. CloudWatch ReplicationLatencyla metrica è pubblicata in. CloudWatch

Destinazione

Le eliminazioni in due fasi avvengono secondo la seguente procedura:

  • Nella Fase 1, UpdateItem imposta il flag di eliminazione.

  • Nella Fase 2, DeleteItem elimina l'elemento.

Elimina l'elemento utilizzando. DeleteItem Elimina l'elemento utilizzando. DeleteItem
Vengono generati due record di flussi. Il primo record contiene la modifica al campo aws:rep:deleting. Il secondo record contiene gli attributi scritti dal cliente e gli attributi aws:rep:*. Viene generato un singolo record dei flussi, che contiene gli attributi scritti dal cliente. Viene generato un singolo record dei flussi, che contiene gli attributi scritti dal cliente.
WCUs Vengono consumate due r per ogni eliminazione da parte del cliente. Viene utilizzata una rWCU per ogni eliminazione da parte del cliente. Viene utilizzata una rWCU per ogni eliminazione da parte del cliente.
ReplicationLatencye le PendingReplicationCount metriche sono pubblicate in CloudWatch. ReplicationLatencyla metrica è pubblicata in. CloudWatch ReplicationLatencyla metrica è pubblicata in. CloudWatch

Aggiornamento alla versione 2019.11.21 (Corrente)

Attieniti alla seguente procedura per aggiornare la versione delle tabelle globali DynamoDB utilizzando la Console di gestione AWS.

Come eseguire l’aggiornamento delle tabelle globali alla versione 2019.11.21 (Corrente)
  1. Apri la console DynamoDB a casa. https://console.aws.amazon.com/dynamodb/

  2. Nel pannello di navigazione sul lato sinistro della console, seleziona Tabelle e quindi seleziona la tabella globale che desideri aggiornare alla versione 2019.11.21 (Corrente).

  3. Scegliere la scheda Global Tables (Tabelle globali).

  4. Scegli Aggiorna versione.

    Screenshot della console che mostra il pulsante Update version (Aggiorna versione).
  5. Leggi e accetta i nuovi requisiti, quindi scegli Update version (Aggiorna versione).

  6. Al termine del processo di aggiornamento, la versione delle tabelle globali visualizzata sulla console cambia in 2019.11.21.