Le tabelle globali sono generate sulla portata globale di Amazon DynamoDB per offrire un database completamente gestito multi-master su più regioni che fornisce prestazioni di lettura e scrittura rapide e in locale per applicazioni globali a scalabilità elevata. Global Tables replica le tabelle DynamoDB in modo automatico sulla base delle regioni AWS scelte.
Le tabelle globali eliminano la complessità del lavoro di replica dei dati tra due regioni e risolvono i conflitti degli aggiornamenti, permettendoti di concentrarti sulla logica di business della tua applicazione. Inoltre, le tabelle globali consentono alle tue applicazioni di rimanere altamente disponibili anche nell'improbabile caso di isolamento o problemi di un'intera regione.
Puoi configurare le tabelle globali nella Console di gestione AWS o nell'interfaccia a riga di comando (CLI) di AWS. Non sono necessarie modifiche delle applicazioni, dal momento che le tabelle globali utilizzano le API DynamoDB esistenti. Nessun pagamento o impegno anticipato per l'utilizzo delle tabelle globali: paghi solo per le risorse di cui esegui il provisioning. Ulteriori informazioni sulla configurazione delle tabelle globali sono disponibili nella Guida per gli sviluppatori di Amazon DynamoDB.
Come funziona
Quando crei una tabella globale DynamoDB, essa è composta da più tabelle di replica (una per regione AWS) che DynamoDB considera come una singola unità. Ogni replica ha lo stesso nome tabella e lo stesso schema della chiave principale. Quando un'applicazione scrive dati in una tabella di replica in una regione, DynamoDB propaga automaticamente la scrittura alle altre tabelle di replica nelle altre regioni AWS.

Per esempio, supponiamo che tu abbia un'ampia base clienti distribuita in tre aree geografiche: la costa orientale degli Stati Uniti, la costa occidentale degli Stati Uniti e l'Europa occidentale. I clienti possono aggiornare le loro informazioni di profilo utilizzando la tua applicazione. Senza una soluzione di replica gestita, potresti scrivere un codice per replicare le modifiche ai dati nelle tabelle di ogni regione. Tuttavia, ciò sarebbe dispendioso in termini di tempo e laborioso.
Vantaggi
La replica multi-active garantisce che gli aggiornamenti eseguiti in qualsiasi regione vengano propagati alle altre e che i dati di tutte le regioni abbiano una consistenza finale. Questo significa che le tabelle visualizzate localmente dalla tua applicazione distribuita a livello globale sono sempre aggiornate.
Le tabelle globali ti permettono di leggere e scrivere i dati localmente, con una latenza non superiore a una decina di millisecondi per la tua applicazione distribuita a livello globale su qualsiasi scala.
Le tabelle globali eliminano la complessità e il carico operativo della distribuzione e gestione di tabelle disponibili a livello globale in DynamoDB. Basta semplicemente selezionare le regioni in cui vuoi replicare i dati e DynamoDB si occuperà di tutto il resto. Le applicazioni accedono alle tabelle globali tramite le API e gli endpoint DynamoDB esistenti.
Le tabelle globali possono aiutare a mantenere le applicazioni disponibili e performanti per la continuità aziendale. Se una singola regione AWS rimane isolata o presenta dei problemi, la tua applicazione può reindirizzare a una regione diversa ed eseguire letture e scritture su un'altra tabella di replica. Puoi applicare una logica aziendale personalizzata per determinare quando reindirizzare le richieste verso altre regioni. DynamoDB tiene traccia di qualsiasi scrittura effettuata ma che non è ancora stata propagata a tutte le tabelle di replica. Quando una regione torna online, DynamoDB riprende la propagazione di qualsiasi scrittura in sospeso da quella regione alle tabelle di replica nelle altre regioni e viceversa.
Qualsiasi modifica apportata a qualsiasi voce in qualsiasi tabella di replica viene replicata in tutte le altre repliche all'interno della stessa tabella globale. In una tabella globale, un nuovo elemento scritto viene in genere propagato a tutte le altre tabelle di replica entro un secondo. Con una tabella globale, ogni tabella di replica contiene lo stesso set di voci di dati. DynamoDB non supporta la replica parziale di solo alcune delle voci. Se l'applicazione aggiorna la stessa voce in diverse regioni all'incirca nello stesso momento, potrebbero nascere dei conflitti. Per aiutare a garantire la consistenza finale, le tabelle globali DynamoDB utilizzano una riconciliazione di tipo "last-writer-wins" tra gli aggiornamenti simultanei, in cui DynamoDB si impegna a determinare chi ha eseguito l'ultima scrittura. Grazie a questo meccanismo di risoluzione dei conflitti, tutte le repliche si accordano sull'ultimo aggiornamento e convergono verso uno stato in cui contengono tutte gli stessi dati.
Nozioni di base
Inizia convertendo le tue tabelle esistenti in tabelle globali o creando una nuova tabella globale tramite la console DynamoDB o la CLI di AWS.
Best practice
Testimonianze dei clienti

"Quando è iniziata la pandemia da COVID-19, abbiamo osservato un'enorme domanda per i servizi voce e video. All'inizio del 2020 abbiamo visto una crescita dell'utilizzo senza precedenti: da 10 milioni a 300 milioni di partecipanti a riunioni giornaliere con clienti nuovi ed esistenti che avevano bisogno di connettersi virtualmente. A livello di back-end siamo stati in grado di gestire questa impennata con Amazon DynamoDB per le riunioni Zoom. L'utilizzo delle tabelle globali DynamoDB insieme alla modalità on demand ci ha permesso di dimensionare quasi all'infinito senza problemi di prestazioni, anche in presenza del nostro improvviso picco di utilizzo."
Yasin Mohammed, Engineering Manager, Cloud Operations presso Zoom Video Communications, Inc.

Consulta la Guida per gli sviluppatori di DynamoDB.

Ottieni l'accesso immediato al piano gratuito di AWS.

Inizia a creare con le tabelle globali DynamoDB nella console DynamoDB.