Come funzionano le 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à.

Come funzionano le tabelle globali DynamoDB

Le tabelle globali multi-account estendono le funzionalità completamente gestite, serverless, multiregionali e multiattive di DynamoDB per più account. AWS Le tabelle globali con più account replicano i dati tra AWS regioni e account, fornendo la stessa funzionalità attiva-attiva delle tabelle globali con lo stesso account. Quando scrivi su qualsiasi replica, DynamoDB replica i dati su tutte le altre repliche.

Le principali differenze rispetto alle tabelle globali dello stesso account includono:

  • La replica multiaccount è supportata per le tabelle globali MREC (Multi-Region Eventual Consistency).

  • È possibile aggiungere repliche solo iniziando con una tabella a regione singola. La conversione di una tabella globale esistente con lo stesso account in una configurazione con più account non è supportata. Per eseguire la migrazione, è necessario eliminare le repliche esistenti per tornare a una tabella a regione singola prima di creare una nuova tabella globale con più account.

  • Ogni replica deve risiedere in un account separato. AWS Per una tabella globale con più account con N repliche, è necessario disporre di N account.

  • Per impostazione predefinita, le tabelle globali con più account utilizzano impostazioni di tabella unificate in tutte le repliche. Tutte le repliche condividono automaticamente la stessa configurazione (ad esempio la modalità di trasmissione, TTL e PITR) e, a differenza delle tabelle globali dello stesso account, queste impostazioni non possono essere sostituite per replica.

  • I clienti devono fornire le autorizzazioni di replica al responsabile del servizio di tabelle globali di DynamoDB nelle loro politiche relative alle risorse.

Le tabelle globali con più account utilizzano la stessa tecnologia di replica sottostante delle tabelle globali con lo stesso account. Le impostazioni delle tabelle vengono replicate automaticamente su tutte le repliche regionali e i clienti non possono sovrascrivere o personalizzare le impostazioni per replica. Ciò garantisce una configurazione coerente e un comportamento prevedibile tra più AWS account che partecipano alla stessa tabella globale.

Le impostazioni nelle tabelle globali di DynamoDB definiscono il comportamento di una tabella e il modo in cui i dati vengono replicati tra le regioni. Queste impostazioni vengono configurate tramite il APIs piano di controllo DynamoDB durante la creazione della tabella o quando si aggiunge una nuova replica regionale.

Quando creano una tabella globale con più account, i clienti devono impostarla GlobalTableSettingsReplicationMode = ENABLED per ogni replica regionale. Ciò garantisce che le modifiche alla configurazione apportate in una regione si propaghino automaticamente a tutte le altre regioni che partecipano alla tabella globale.

È possibile abilitare la replica delle impostazioni dopo la creazione della tabella. Ciò supporta lo scenario in cui una tabella viene originariamente creata come tabella regionale e successivamente aggiornata a una tabella globale con più account.

Impostazioni sincronizzate

Le seguenti impostazioni della tabella sono sempre sincronizzate tra tutte le repliche in una tabella globale con più account:

Nota

A differenza delle tabelle globali con lo stesso account, le tabelle globali con più account non consentono sostituzioni per regione per queste impostazioni. L'unica eccezione è che le sostituzioni per le politiche di auto-scaling di lettura (tabelle e GSIs) sono consentite in quanto si tratta di risorse esterne separate.

  • Modalità di capacità (capacità allocata o on demand)

  • Capacità di lettura e scrittura fornita dalla tabella

  • Ridimensionamento automatico di lettura e scrittura delle tabelle

  • Definizione dell'indice secondario locale (LSI)

  • Definizione degli indici secondari globali (GSI)

  • GSI ha fornito capacità di lettura e scrittura

  • Scalabilità automatica di lettura e scrittura GSI

  • Definizione dei flussi in modalità MREC

  • Time to live (TTL)

  • Throughput a caldo

  • Velocità massima di lettura e scrittura su richiesta

Impostazioni non sincronizzate

Le seguenti impostazioni non sono sincronizzate tra le repliche e devono essere configurate indipendentemente per ogni tabella di replica in ogni regione.

  • Classe di tabella

  • Tipo di crittografia lato server (SSE)

  • ID chiave KMS con crittografia lato server (SSE)

  • Protezione dall'eliminazione

  • Kinesis Data Streams (KDSD)

  • Tag

  • Policy delle risorse

  • Tabella Cloudwatch-Contributor Insights (CCI)

  • GSI Cloudwatch-Contributor Insights (CCI)

Monitoraggio

Le tabelle globali configurate per la coerenza finale multiregionale (MREC) pubblicano la metrica su. ReplicationLatency CloudWatch Questa metrica tiene traccia del tempo trascorso tra la scrittura di un elemento in una tabella di replica e la visualizzazione di tale elemento in un’altra replica nella tabella globale. ReplicationLatency è espresso in millisecondi e viene emesso per ogni coppia di Regioni di origine e di destinazione in una tabella globale.

ReplicationLatencyI valori tipici dipendono dalla distanza tra le AWS regioni scelte e da altre variabili come il tipo di carico di lavoro e la velocità effettiva. Ad esempio, una replica di origine nella Regione Stati Uniti occidentali (California settentrionale) (us-west-1) ha un ReplicationLatency inferiore rispetto alla Regione Stati Uniti occidentali (Oregon) (us-west-2) rispetto alla Regione Africa (Città del Capo) (af-south-1).

Un valore crescente per ReplicationLatency potrebbe indicare che gli aggiornamenti da una replica non si propagano ad altre tabelle di replica in modo tempestivo. In questo caso, puoi reindirizzare temporaneamente l'attività di lettura e scrittura dell'applicazione verso un'altra regione. AWS

Gestione dei problemi di latenza di replica nelle tabelle globali con più account

Se si ReplicationLatency superano le 3 ore a causa di problemi causati dal cliente su una tabella di replica, DynamoDB invia una notifica richiedendo al cliente di risolvere il problema sottostante. I problemi più comuni causati dal cliente che possono impedire la replica includono:

  • Rimozione delle autorizzazioni richieste dalla politica delle risorse della tabella di replica

  • Disattivazione di una AWS regione che ospita una replica della tabella globale con più account

  • Negazione delle autorizzazioni della chiave AWS KMS della tabella necessarie per decrittografare i dati

DynamoDB invia una notifica iniziale entro 3 ore dall'elevata latenza di replica, seguita da una seconda notifica dopo 20 ore se il problema rimane irrisolto. Se il problema non viene corretto entro la finestra temporale richiesta, DynamoDB dissocierà automaticamente la replica dalla tabella globale. La replica interessata verrà quindi convertita in una tabella regionale.