Le tabelle globali sfruttano la 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. Le tabelle globali replicano 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.

Diagramma che illustra come funzionano le tabelle globali

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 molto faticoso. Invece di scrivere il tuo codice, potresti creare una tabella globale che fa riferimento alle tabelle delle tre regioni e DynamoDB replicherebbe quindi automaticamente le modifiche ai dati in tali tabelle, in modo che i cambiamenti in una regione si propaghino senza problemi alle altre. In più, se una delle regioni AWS dovesse essere temporaneamente non disponibile, i tuoi clienti potrebbero comunque accedere agli stessi dati nelle altre regioni.

Vantaggi

Lettura e scrittura locali, accesso ai dati globale

La replica multi-master 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.

Prestazione

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.

Facili da configurare e gestire

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.

Disponibilità, durabilità e tolleranza ai guasti in più regioni

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.

Coerenza e risoluzioni dei conflitti

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

Ulteriori informazioni sulle tabelle globali
Ulteriori informazioni sulle tabelle globali DynamoDB

Consulta la Guida per gli sviluppatori di DynamoDB.

Ulteriori informazioni 
Registrati per creare un account gratuito
Registrati per creare un account gratuito

Ottieni l'accesso istantaneo al piano gratuito di AWS. 

Registrati 
Inizia subito nella console
Inizia subito nella console

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

Inizia a creare