Tabelle globali: replica in più regioni con 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à.

Tabelle globali: replica in più regioni con DynamoDB

Le tabelle globali Amazon DynamoDB sono un'opzione di database completamente gestito, multi-regionale e multi-attivo che offre prestazioni di lettura e scrittura rapide e localizzate per applicazioni globali altamente scalate.

Le tabelle globali forniscono una soluzione completamente gestita per l'implementazione di un database multi-regione e multi-attivo, senza dover creare e mantenere la propria soluzione di replica. Puoi specificare le AWS regioni in cui desideri che le tabelle siano disponibili e DynamoDB propagherà le modifiche continue ai dati a tutte.

I vantaggi specifici dell'utilizzo di tabelle globali includono:

  • Replica automatica delle tabelle DynamoDB nelle regioni di tua scelta AWS

  • Eliminazione del difficile lavoro di replica dei dati tra regioni e risoluzione dei conflitti degli aggiornamenti, in modo da poterti concentrare sulla logica aziendale dell'applicazione.

  • Possibilità per le applicazioni di rimanere altamente disponibili anche nel caso improbabile di isolamento o degrado di un'intera regione.

Le tabelle globali DynamoDB sono ideali per applicazioni altamente scalate, con utenti distribuiti in tutto il mondo. In questo scenario, gli utenti si aspettano prestazioni di applicazione molto rapide. Le tabelle globali forniscono la replica automatica multiattiva nelle regioni di tutto il mondo. AWS Consentono di offrire agli utenti l'accesso a dati a bassa latenza, indipendentemente dalla posizione.

Il seguente video ti fornirà un'introduzione sulle tabelle globali.

È possibile configurare tabelle globali nella Console di AWS gestione o. AWS CLI Le tabelle globali utilizzano le API DynamoDB esistenti, pertanto non sono richieste modifiche all'applicazione. I prezzi sono calcolati solo in base alle risorse assegnate senza costi anticipati o impegni.

Replica dei dati senza problemi in tutte le regioni con tabelle globali

Supponiamo, ad esempio, di disporre di una vasta base di clienti suddivisa 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 informazioni del proprio profilo utilizzano la tua applicazione. Per soddisfare questo caso d'uso, è necessario creare tre tabelle DynamoDB identiche denominate CustomerProfiles in tre regioni AWS diverse dove si trovano i clienti. Queste tre tabelle sarebbero completamente separate l'una dall'altra: le modifiche ai dati in una tabella non si riflettono nelle altre. In assenza di una soluzione di replica gestita, puoi ricorrere al codice per replicare i cambiamenti dei dati tra queste tabelle. Tuttavia, questa operazione richiede tempo e intenso lavoro.

Invece di scrivere il proprio codice, è possibile creare una tabella globale composta dalle tre tabelle CustomerProfiles specifiche delle regioni. DynamoDB replicherà automaticamente le modifiche ai dati tra queste tabelle in modo che le modifiche ai dati CustomerProfiles in una regione possano propagarsi alle altre regioni. Inoltre, se una delle AWS regioni diventasse temporaneamente non disponibile, i tuoi clienti potrebbero comunque accedere agli stessi CustomerProfiles dati nelle altre regioni.

Nota
  • Il supporto delle regioni per le tabelle globali Tabelle globali versione 2017.11.29 (Legacy) è limitato agli Stati Uniti orientali (Virginia settentrionale), Stati Uniti orientali (Ohio), Stati Uniti occidentali (California settentrionale), Stati Uniti occidentali (Oregon), Europa (Irlanda), Europa (Londra), Europa (Francoforte), Asia Pacifico (Singapore), Asia Pacifico (Sydney), Asia Pacifico (Tokyo) e Asia Pacifico (Seoul).

  • Le operazioni transazionali forniscono garanzie di atomicità, consistenza, isolamento e durabilità (ACID, Atomicity, Consistency, Isolation and Durability) solo all'interno della regione in cui è stata effettuata originariamente l'operazione di scrittura. Le transazioni non sono supportate tra le regioni nelle tabelle globali. Ad esempio, se disponi di una tabella globale con repliche nelle regioni Stati Uniti orientali (Ohio) e Stati Uniti occidentali (Oregon) ed esegui un' TransactWriteItems operazione nella regione Stati Uniti orientali (Virginia settentrionale), puoi osservare le transazioni parzialmente completate nella regione Stati Uniti occidentali (Oregon) mentre le modifiche vengono replicate. Le modifiche vengono replicate in altre regioni solo dopo essere state confermate nella regione di origine.

  • Se disabiliti una AWS regione, DynamoDB rimuoverà questa replica dal gruppo di replica, 20 ore dopo aver rilevato la regione come inaccessibile. AWS La replica non verrà eliminata e sarà interrotta da e verso la regione.

  • È necessario attendere 24 ore dal momento in cui si aggiunge una replica di lettura per eliminare correttamente una tabella di origine. Se si tenta di eliminare una tabella durante le prime 24 ore dopo l'aggiunta di una replica di lettura, verrà visualizzato un messaggio di errore che indica che la replica non può essere eliminata perché ha agito come Regione di origine per le nuove repliche aggiunte nella tabella nelle ultime 24 ore.

  • L'aggiunta di nuove repliche non ha alcun impatto sulle prestazioni sulle regioni di origine.

  • Quando si modifica la capacità di lettura e scrittura di una replica, la nuova capacità di scrittura si riflette su altre repliche sincronizzate ma la nuova capacità di lettura no.

Per informazioni sulla disponibilità e sui prezzi della AWS regione, consulta i prezzi di Amazon DynamoDB.

Garantisci sicurezza e accesso alle tue tabelle globali con AWS KMS

  • È possibile eseguire AWS KMS operazioni sulle tabelle globali utilizzando il ruolo AWSServiceRoleForDynamoDBReplication collegato al servizio rispetto alla chiave gestita dal cliente o a quella Chiave gestita da AWSutilizzata per crittografare la replica.

  • Se non è possibile accedere alla chiave gestita dal cliente utilizzata per criptare una replica, DynamoDB rimuoverà quest'ultima dal gruppo di replica. La replica non verrà eliminata e sarà interrotta da e verso questa regione 20 ore dopo aver rilevato che la chiave KMS non è accessibile.

  • Se vuoi disabilitare la chiave gestita dal cliente utilizzata per criptare una tabella di replica, puoi farlo solo se la chiave non viene più utilizzata per criptare una tabella di replica. Dopo aver emesso un comando per eliminare una tabella di replica, prima di poter disabilitare la chiave è necessario attendere il completamento dell'operazione di eliminazione e che la tabella globale diventi Active. Questa operazione potrebbe comportare la replica parziale dei dati da e verso la tabella di replica.

  • Se si desidera modificare o eliminare la policy del ruolo IAM per la tabella di replica, è necessario farlo quando la tabella di replica si trova nello stato Active. In caso contrario, la creazione, l'aggiornamento o l'eliminazione della tabella di replica potrebbe non riuscire.

  • Le tabelle globali vengono create con la protezione dall'eliminazione disattivata per impostazione predefinita. Anche quando la protezione dall'eliminazione è abilitata per una tabella globale, qualsiasi replica di quella tabella verrà avviata con la protezione dall'eliminazione disabilitata per impostazione predefinita.

  • Quando la protezione dall'eliminazione per una tabella è disabilitata, può essere eliminata accidentalmente. Quando la protezione da eliminazione per una tabella è abilitata, non è possibile eliminarla.

  • La modifica dell'impostazione di protezione da eliminazione per una tabella di replica non viene applicata per le altre repliche del gruppo.

Nota

Le chiavi gestite dal cliente non sono supportate in Tabelle globali versione 2017.11.29 (Legacy). Se desideri utilizzare una chiave gestita dal cliente in una tabella globale di DynamoDB, devi aggiornare la tabella alla versione Global Tables 2019.11.21 (corrente) e quindi abilitarla.