Domande frequenti sulle tabelle globali - AWS Guida prescrittiva

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à.

Domande frequenti sulle tabelle globali

In questa sezione sono fornite le risposte alle domande frequenti sulle tabelle globali DynamoDB.

Quali sono i prezzi delle tabelle globali?

  • Il prezzo di un'operazione di scrittura in una tabella DynamoDB tradizionale è espresso in unità di capacità di scrittura WCUs () per le tabelle fornite o in unità di richiesta di scrittura () per le WRUs tabelle su richiesta. In caso di scrittura di un elemento da 5 KB, viene addebitato un costo pari a 5 unità. Il prezzo di una scrittura su una tabella globale è espresso in unità di capacità di scrittura replicate (rWCUs) per le tabelle predisposte o in unità di richiesta di scrittura replicate (rWRUs) per le tabelle su richiesta. r e r hanno lo stesso prezzo di and. WCUs WRUs WCUs WRUs

  • I costi RWCu e RWRu vengono applicati in ogni regione in cui l'articolo viene scritto direttamente o tramite replica.

  • Si applicano tariffe per il trasferimento di dati tra regioni.

  • La scrittura su un indice secondario globale (GSI) è considerata una scrittura locale e utilizza le normali unità di scrittura.

  • Al momento non è disponibile alcuna capacità riservata per r o r. WCUs WRUs L'acquisto di capacità riservata per WCUs potrebbe comunque essere utile per le tabelle che GSIs consumano unità di scrittura.

  • Quando aggiungi una nuova Regione a una tabella globale, DynamoDB avvia automaticamente la nuova Regione e ti addebita come se si trattasse di un ripristino della tabella, in base alla sua dimensione in GB. Addebita inoltre tariffe aggiuntive per il trasferimento di dati tra regioni.

Quali sono Regioni supportate dalle tabelle globali?

Le tabelle globali (attuale, versione 2019) supportano tutte le Regioni AWS tabelle MREC e i seguenti set di regioni per le tabelle MRSC:

  • Set di regioni degli Stati Uniti: Stati Uniti orientali (Virginia settentrionale), Stati Uniti orientali (Ohio), Stati Uniti occidentali (Oregon)

  • Set di regioni UE: Europa (Irlanda), Europa (Londra), Europa (Parigi), Europa (Francoforte)

  • Set di regioni AP: Asia Pacifico (Tokyo), Asia Pacifico (Seoul) e Asia Pacifico (Osaka)

Come vengono GSIs gestite le tabelle globali?

Nelle tabelle globali (correnti, versione 2019) quando viene creato un indice GSI in una Regione, tale indice viene automaticamente creato e compilato nelle altre Regioni partecipanti.

Come posso interrompere la replica di una tabella globale?

  • È possibile eliminare una tabella di replica con la stessa procedura usata per eliminare qualsiasi altra tabella. Ciò interromperà la replica ed eliminerà la copia della tabella conservata in tale regione. Tuttavia, non è possibile interrompere la replica e conservare le copie della tabella come entità indipendenti, né è possibile sospendere la replica.

  • Una tabella MRSC deve essere distribuita esattamente in tre regioni. Per eliminare le repliche, è necessario eliminare tutte le repliche e il testimone in modo che la tabella MRSC diventi una tabella locale.

In che modo Amazon DynamoDB Streams interagisce con le tabelle globali?

  • Ogni tabella globale produce un flusso indipendente basato su tutte le relative operazioni di scrittura, a prescindere dal punto di partenza. È possibile scegliere di utilizzare il flusso DynamoDB in una regione o in tutte le regioni in modo indipendente. Per elaborare operazioni di scrittura locali non replicate, è possibile aggiungere l'attributo relativo alla regione a ciascun elemento. È quindi possibile utilizzare un filtro AWS Lambda eventi per chiamare la funzione Lambda solo per le operazioni di scrittura nella regione locale. Questa procedura serve per le operazioni di inserimento e aggiornamento, ma non per le operazioni di eliminazione.

  • Le tabelle globali configurate per la coerenza finale tra più regioni (tabelle MREC) replicano le modifiche leggendo tali modifiche da un flusso DynamoDB su una tabella di replica e applicandole a tutte le altre tabelle di replica. Pertanto, DynamoDB Streams è abilitato per impostazione predefinita su tutte le repliche in una tabella globale MREC e non può essere disabilitato su tali repliche. Il processo di replica MREC può combinare più modifiche in un breve periodo di tempo in un'unica operazione di scrittura replicata. Di conseguenza, lo stream di ogni replica potrebbe contenere record leggermente diversi. I record DynamoDB Streams sulle repliche MREC vengono sempre ordinati per elemento, ma l'ordinamento tra gli elementi potrebbe differire tra le repliche.

  • Le tabelle globali configurate per una forte coerenza multiregionale (tabelle MRSC) non utilizzano DynamoDB Streams per la replica, quindi questa funzionalità non è abilitata di default sulle repliche MRSC. È possibile abilitare DynamoDB Streams su una replica MRSC. I record DynamoDB Streams sulle repliche MRSC sono identici per ogni replica e vengono sempre ordinati per elemento, ma l'ordine tra gli elementi potrebbe differire tra le repliche.

In che modo le tabelle globali gestiscono le transazioni?

  • Le operazioni transazionali sulle tabelle MRSC genereranno errori.

  • Le operazioni transazionali sulle tabelle MREC forniscono garanzie di atomicità, coerenza, isolamento e durabilità (ACID) solo all'interno della regione in cui è avvenuta originariamente l'operazione di scrittura. Le transazioni non sono supportate tra le regioni nelle tabelle globali. Ad esempio, se disponi di una tabella globale MREC con repliche nelle regioni Stati Uniti orientali (Ohio) e Stati Uniti occidentali (Oregon) ed esegui un'TransactWriteItemsoperazione nella regione Stati Uniti orientali (Ohio), potresti 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.

In che modo le tabelle globali interagiscono con la cache DynamoDB Accelerator (DAX)?

Le tabelle globali ignorano DAX aggiornando direttamente DynamoDB, quindi DAX non è consapevole della presenza di dati obsoleti. La cache DAX verrà aggiornata solo alla scadenza del TTL della cache.

I tag presenti nelle tabelle vengono propagati?

No, i tag non vengono propagati automaticamente.

Devo eseguire il backup delle tabelle in tutte le Regioni o solo in una?

La risposta dipende dallo scopo del backup.

  • Se è necessario garantire la durabilità dei dati, DynamoDB fornisce già questa protezione. Il servizio garantisce la durabilità dei dati.

  • Se si desidera conservare uno snapshot dei record storici (ad esempio per soddisfare i requisiti normativi), il backup in una regione dovrebbe essere sufficiente. È possibile copiare il backup in altre regioni utilizzando AWS Backup.

  • Se desideri recuperare dati cancellati o modificati erroneamente, utilizza DynamoDB point-in-time recovery (PITR) in una regione.

Come posso distribuire tabelle globali utilizzando? AWS CloudFormation

  • CloudFormation rappresenta una tabella DynamoDB e una tabella globale come due risorse separate: e. AWS::DynamoDB::Table AWS::DynamoDB::GlobalTable Un approccio consiste nel creare tutte le tabelle che possono essere potenzialmente globali utilizzando il costrutto GlobalTable, mantenerle inizialmente come tabelle autonome e aggiungere Regioni in un secondo momento, se necessario.

  • In CloudFormation, ogni tabella globale è controllata da un singolo stack, in una singola regione, indipendentemente dal numero di repliche. Quando distribuisci il modello, CloudFormation crea e aggiorna tutte le repliche come parte di un'unica operazione di stack. Non è consigliabile distribuire la stessa risorsa AWS::DynamoDB::GlobalTable in più regioni. Questo metodo non è supportato e genererà errori. Se si distribuisce il modello di applicazione in più regioni, è possibile utilizzare le condizioni per creare la risorsa AWS::DynamoDB::GlobalTable solo in una regione. In alternativa, è possibile scegliere di definire le risorse AWS::DynamoDB::GlobalTable in uno stack separato dallo stack dell'applicazione e verificare che sia distribuito solo in un'unica regione.

  • Se disponi di una tabella normale e desideri convertirla in una tabella globale mantenendola gestita da CloudFormation: imposta la politica di eliminazione suRetain, rimuovi la tabella dallo stack, converti la tabella in una tabella globale nella console e quindi importa la tabella globale come nuova risorsa nello stack. Per ulteriori informazioni, consulta il AWS GitHub repository amazon-dynamodb-table-to -. global-table-cdk

  • La replica su più account non è al momento supportata.