Le tabelle globali di Amazon DynamoDB sono un database completamente gestito, serverless, multiregionale e multiattivo. Le tabelle globali offrono una disponibilità del 99,999%, una maggiore resilienza delle applicazioni e una migliore continuità aziendale. Poiché le tabelle globali replicano automaticamente le tabelle Amazon DynamoDB nelle Regioni AWS di tua scelta, puoi ottenere prestazioni di lettura e scrittura locali veloci.

Nel raro caso di un errore in una singola Regione, non è necessario effettuare un failover del database poiché l'architettura multiattiva delle tabelle globali consente ai clienti di leggere e scrivere su qualsiasi tabella di replica. Inoltre, le tabelle globali eliminano il difficile compito di replicare i dati tra Regioni e risolvere i conflitti di aggiornamento per i carichi di lavoro multiattivi. Inoltre, le tabelle globali consentono alle tue applicazioni di rimanere altamente disponibili anche nel raro caso di isolamento o problemi di un'intera Regione.

Puoi configurare tabelle globali nella Console di gestione AWS con l'interfaccia della linea di comando AWS (AWS CLI) o con AWS CloudFormation. Durante la lettura o la scrittura su una tabella globale non sono necessarie modifiche all'applicazione, poiché le tabelle globali utilizzano le stesse API DynamoDB delle tabelle a Regione singola.

Non sono previsti costi o impegni anticipati per l'utilizzo delle tabelle globali e paghi solo per le risorse che effettivamente utilizzi. Scopri di più sulla configurazione delle tabelle globali nella guida per gli sviluppatori di Amazon DynamoDB. Per ulteriori informazioni sui prezzi delle tabelle globali, consulta le opzioni di prezzo di Amazon DynamoDB per le versioni on demand e con provisioning.

Come funziona

Una tabella globale DynamoDB è composta da più tabelle di replica. Ogni tabella di replica esiste in una Regione diversa, ma tutte le repliche hanno lo stesso nome e la stessa chiave primaria. Quando i dati vengono scritti su una tabella di replica, DynamoDB li replica automaticamente su tutte le altre tabelle di replica nella tabella globale.

Per esempio, supponiamo che la tua applicazione serva un'ampia base clienti distribuita in tre aree geografiche: la costa orientale degli Stati Uniti, il Canada e l'Europa occidentale. Senza tabelle globali, dovresti creare una tabella in ogni Regione AWS e scrivere codice per replicare le modifiche dei dati su ogni tabella in ogni Regione.

Grazie alle tabelle globali, puoi creare una tabella globale con una tabella di replica nelle tre Regioni più vicine a ciascuna area geografica. DynamoDB replicherà automaticamente le modifiche da qualsiasi replica alle repliche nelle altre Regioni.

Le tabelle globali consentono agli utenti dell'applicazione di accedere ai dati con bassa latenza, indipendentemente dalla loro posizione geografica. Nell'improbabile eventualità che una Regione AWS diventi temporaneamente non disponibile, i tuoi clienti possono comunque accedere alle tabelle di replica nelle altre Regioni.

Diagramma che illustra come funzionano le tabelle globali

Vantaggi

Lettura e scrittura locali, accesso ai dati globale

La replica multiattiva e multiregionale garantisce che gli aggiornamenti eseguiti su una tabella di replica in una Regione vengano replicati nelle tabelle di replica in altre Regioni. La replica tra le repliche delle tabelle nelle Regioni è in ultimo coerente. Ciò significa che le letture e le scritture locali sulle tabelle di replica all'interno della stessa Regione dell'applicazione possono raggiungere una maggiore coerenza. Tuttavia, le letture degli elementi che si trovano in altre tabelle di replica all'interno di una Regione sono in ultimo coerenti.

Prestazioni

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. Ciò può aumentare le prestazioni per applicazioni globali su larga scala.

Facili da configurare e gestire

Le tabelle globali eliminano la complessità e l'onere operativo dell'implementazione e della gestione della replica multiattiva e multiregionale in Amazon DynamoDB. Basta 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 sono progettate per una disponibilità del 99,999%. Se una singola Regione 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. 

Inoltre, Amazon DynamoDB tiene traccia di qualsiasi scrittura effettuata ma che non è ancora stata propagata a tutte le tabelle di replica. Quando una Regione torna online, Amazon 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 solitamente 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. Amazon 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 risolvere i conflitti, le tabelle globali Amazon DynamoDB utilizzano una riconciliazione di tipo "last-writer-wins" tra gli aggiornamenti simultanei, in cui Amazon 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

Per iniziare convertendo le tue tabelle esistenti in tabelle globali o creando una nuova tabella globale, utilizza la console Amazon DynamoDB, la CLI di AWS o AWS CloudFormation. Se non conosci Amazon DynamoDB, visita la pagina Nozioni di base su DynamoDB. Prima di iniziare, consulta i prezzi delle tabelle globali per la capacità on demand o con provisioning, a seconda delle esigenze dell'applicazione.

      Domande frequenti

      Cos'è una tabella globale per Amazon DynamoDB?

      Una tabella globale è una raccolta di una o più tabelle di replica, tutte di proprietà di un singolo account AWS. Una singola tabella globale Amazon DynamoDB può avere solo una tabella di replica per ogni Regione AWS.

      Cos'è una tabella di replica per Amazon DynamoDB?

      Una tabella di replica è una singola tabella DynamoDB. Ogni tabella di replica memorizza lo stesso set di elementi di dati, ha lo stesso nome di tabella e lo stesso schema di chiave primaria. Quando un'applicazione scrive dati in una tabella di replica in una Regione, Amazon DynamoDB replica automaticamente le scritture in altre tabelle di replica nelle altre Regioni AWS.

      Devo prendere in considerazione le tabelle globali di Amazon DynamoDB per la mia strategia di continuità aziendale?

      Assolutamente sì, le tabelle globali di Amazon DynamoDB sono un'ottima scelta per rafforzare la continuità aziendale in quanto aumentano la resilienza dell'applicazione e garantiscono una maggiore coerenza dei dati all'interno di una singola Regione. Poiché le tabelle globali sono multiattive, un'applicazione può leggere o scrivere su qualsiasi tabella di replica. Nel raro caso di un evento regionale non pianificato, l'applicazione può reindirizzare a un'altra replica.

      Come posso rendere globale la tabella Amazon DynamoDB?

      Puoi creare una tabella globale utilizzando la console Amazon DynamoDB, l'interfaccia della riga di comando AWS o AWS CloudFormation con questa guida dettagliata.

      Quali sono i prerequisiti per le tabelle globali di Amazon DynamoDB?

      Prima di aggiungere una replica supplementare in un'altra regione a una tabella globale di Amazon DynamoDB, è necessario verificare che la tabella abbia DynamoDB Streams abilitato, che abbia lo stesso nome di tutte le altre repliche, che abbia la stessa chiave di partizione di tutte le altre repliche e le stesse impostazioni di capacità di scrittura specificate.

      I nomi delle tabelle di Amazon DynamoDB sono univoci a livello globale?

      Tutte le tabelle di replica in una tabella globale Amazon DynamoDB devono avere lo stesso nome.

      Qual è la differenza tra la tabella Amazon DynamoDB e la tabella globale?

      Analogamente ad altri database, Amazon DynamoDB archivia i dati in tabelle. Una tabella è una raccolta di elementi e ogni elemento è una raccolta di attributi. Amazon DynamoDB utilizza chiavi primarie per identificare in modo univoco ogni elemento in una tabella e dispone di indici secondari per fornire una maggiore flessibilità di query.

      Al contrario, una tabella globale di Amazon DynamoDB è una raccolta di una o più tabelle di replica di proprietà di un singolo account AWS. Ogni tabella di replica è strutturalmente uguale a una normale tabella Amazon DynamoDB.

      Il ripristino point-in-time è disponibile nelle tabelle globali di Amazon DynamoDB?

      Sì, puoi abilitare il ripristino point-in-time su ogni replica di una tabella globale.

      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.

        "La replica dei dati in diverse regioni è un problema piuttosto difficile e possiamo usare le tabelle globali di Amazon DynamoDB per farlo con facilità."

        Saral Jain, Director of Engineering e Head of Infrastructure, Snap Inc.

        Leggi il caso di studio »

        Disney+

        Il team responsabile delle attività di Content Discovery per Disney+ utilizza le tabelle globali di DynamoDB per fornire e scalare funzionalità molto diffuse, come Continua a guardare, i Titoli preferiti e i Consigli personalizzati.

        Guarda il video »

        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 immediato al piano gratuito di AWS. 

        Registrati 
        Inizia a creare nella console
        Inizia subito nella console

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

        Inizia a creare