Passa al contenuto principale

Amazon DynamoDB

Cosa sono le tabelle globali?

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

Se l’elaborazione dell’applicazione viene interrotta in una 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 risolvere i conflitti di aggiornamento per i carichi di lavoro multi-Regione.

Le tabelle globali supportano una modalità sia forte che differita per la coerenza multi-Regione. La coerenza multi-Regione forte offre il massimo livello di resilienza delle applicazioni e consente alle applicazioni dei clienti di essere sempre disponibili e di leggere sempre i dati più recenti da qualsiasi Regione. Ora è possibile sviluppare applicazioni con obiettivo del punto di ripristino pari a zero. Con la coerenza multi-Regione differita è possibile creare repliche all’interno di un unico account AWS o in più account AWS. 

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 condividono lo stesso schema di 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 l’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, è necessario 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, è possibile 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. Se l’elaborazione dell’applicazione viene interrotta in una Regione, i clienti possono comunque accedere alle tabelle di replica nelle altre.

Durante la creazione di una tabella globale, è possibile scegliere tra la coerenza forte e quella differita. Una tabella globale configurata con una coerenza multi-Regione forte offre la possibilità di eseguire un’elevata consistenza di lettura in più Regioni. L’impostazione predefinita è la coerenza multi-Regione differita.

Per le tabelle globali configurate con la modalità di coerenza multi-Regione differita è possibile creare repliche all’interno di un unico account AWS o in più account AWS. Le tabelle globali multi-account replicano automaticamente le tabelle in più account e Regioni, offrendo così resilienza, sicurezza e governance avanzate. Sono ideali per i clienti che adottano strategie multi-account o utilizzano AWS Organizations per migliorare l’isolamento della sicurezza, applicare guardrail sul perimetro dei dati, implementare il disaster recovery o separare i carichi di lavoro per unità aziendali.

Iniziare con le tabelle globali è semplice, poiché utilizzano le stesse API DynamoDB delle tabelle a Regione singola. Non sono previsti costi o impegni anticipati per l’utilizzo delle tabelle globali: paghi solo per le risorse effettivamente utilizzate. Puoi configurare tabelle globali nella Console di gestione AWS con l’interfaccia della linea di comando (AWS CLI) o con AWS CloudFormation. È facile anche convertire una tabella a Regione singola in una tabella globale.

Missing alt text value

Vantaggi delle tabelle globali

    Le tabelle globali sono progettate per una disponibilità del 99,999%. Se una singola Regione rimane isolata o presenta dei problemi, l’applicazione può spostare il traffico in una Regione diversa ed eseguire letture e scritture su un’altra tabella di replica. È possibile applicare una logica aziendale personalizzata per determinare quando reindirizzare le richieste verso altre Regioni. Inoltre, con la modalità di coerenza multi-Regione forte, l’applicazione leggerà sempre i dati più recenti da qualsiasi Regione.

    Le tabelle globali eliminano la complessità e l’onere operativo dell’implementazione e della gestione della replica multiattiva e multi-Regione in DynamoDB. Basta selezionare le Regioni in cui replicare i dati e DynamoDB si occuperà di tutto il resto. È possibile scegliere la coerenza differita o forte per la replica fra tabelle di replica in più Regioni. Grazie alla coerenza multi-Regione forte, non è mai necessario pensare alla coerenza o al ripristino dei dati durante le operazioni di failover.

    È anche possibile scegliere di creare repliche all’interno di un unico account AWS o in più account AWS. Con le tabelle globali multi-account, è possibile sviluppare applicazioni in più account per un isolamento più rigoroso, sicurezza e governance migliori e una resilienza operativa avanzata, in linea con il Framework AWS Well-Architected. Le applicazioni accedono alle tabelle globali tramite le API e gli endpoint DynamoDB esistenti.

    Ora le tabelle globali sono configurabili con coerenza sia forte che differita. La coerenza forte garantisce che l’elevata consistenza di lettura rifletta la scrittura più recente, mentre con la coerenza differita deve trascorrere un breve periodo di tempo prima che tutte le repliche riflettano l’aggiornamento più recente in cambio di letture e scritture locali con latenza inferiore.

    In modalità coerenza multi-Regione forte, DynamoDB garantisce che una scrittura riconosciuta correttamente in una qualsiasi replica in qualunque Regione sia immediatamente disponibile per le letture da qualsiasi altra replica. Se un’operazione di scrittura dovesse modificare un elemento già in fase di modifica in un’altra Regione, tale operazione non andrà a buon fine con un’eccezione retryable (non irreversibile).

    In modalità di coerenza multi-Regione differita, DynamoDB replica una scrittura eseguita in qualsiasi replica in qualunque Regione in tutte le altre repliche, generalmente entro uno o due secondi. Se lo stesso elemento viene modificato in più Regioni, DynamoDB risolverà il conflitto utilizzando il metodo di risoluzione “last-writer-wins”.

    Le tabelle globali consentono di leggere e scrivere i dati localmente, con una latenza non superiore a una decina di millisecondi per un’applicazione distribuita a livello globale su qualsiasi scala. Ciò può aumentare le prestazioni per applicazioni globali su larga scala.