Come posso eseguire il backup di una tabella DynamoDB su Amazon S3?

4 minuti di lettura
0

Desidero eseguire il backup della mia tabella Amazon DynamoDB utilizzando Amazon Simple Storage Service (Amazon S3).

Breve descrizione

DynamoDB offre due metodi di backup integrati:

Entrambi questi metodi sono adatti per effettuare il backup delle tabelle per scopi di ripristino di emergenza. Tuttavia, con questi metodi non è possibile utilizzare i dati per casi d'uso che coinvolgono l'analisi dei dati o i processi di estrazione, trasformazione e caricamento (ETL). La funzionalità Esporta in S3 di DynamoDB è il modo più semplice per creare i backup da scaricare localmente o utilizzare con un altro servizio AWS. Per personalizzare il processo di creazione dei backup, puoi utilizzare Amazon EMR o AWS Glue.

Risoluzione

Funzionalità Esporta in S3 di DynamoDB

Utilizzando questa funzionalità puoi esportare i dati da una tabella Amazon DynamoDB in un bucket Amazon S3 in qualsiasi momento all'interno della finestra di ripristino point-in-time. Per ulteriori informazioni consulta la sezione DynamoDB data export to Amazon S3.

Per avere un esempio di come utilizzare questa funzionalità, consulta la sezione Export Amazon DynamoDB table data to your data lake in Amazon S3, no code writing required.

L'utilizzo della funzionalità Esporta in S3 ti permette di utilizzare i tuoi dati in altri modi, tra cui i seguenti:

  • Eseguire lo strumento ETL sui dati esportati in S3 e poi importare nuovamente i dati su DynamoDB
  • Mantenere snapshot storici per l'audit
  • Integrare i dati con altri servizi o applicazioni
  • Costruire un data lake S3 a partire dai dati di DynamoDB e poi analizzare i dati da vari servizi, come Amazon Athena, Amazon Redshift o Amazon SageMaker
  • Eseguire le query necessarie sui tuoi dati a partire da Athena o Amazon EMR senza influire sulla capacità di DynamoDB

Tieni presente i seguenti pro e contro quando utilizzi questa funzionalità:

  • Pro: Questa funzionalità consente di esportare dati tra regioni e account AWS senza creare applicazioni personalizzate o scrivere un codice. Le esportazioni non influiscono sulla capacità di lettura o sulla disponibilità delle tabelle di produzione.
  • Contro: Questa funzionalità esporta i dati della tabella solo in formato DynamoDB JSON o Amazon Ion. Per reimportare i dati in modo nativo con un bucket S3, consulta la sezione DynamoDB data import from Amazon S3. Puoi anche creare un nuovo modello o utilizzare AWS Glue, Amazon EMR o AWS SDK per reimportare i dati.

Amazon EMR

Usa Amazon EMR per esportare i tuoi dati in un bucket S3. Puoi farlo con uno di questi metodi:

  • Esegui query Hive/Spark su tabelle DynamoDB utilizzando DynamoDBStorageHandler. Per ulteriori informazioni consulta la sezione Exporting data from DynamoDB.
  • Usa l'open source emr-dynamodb-tool su GitHub per esportare/importare tabelle DynamoDB.

Tieni presente i seguenti pro e contro quando utilizzi questi metodi:

  • Pro: Se sei un utente attivo di Amazon EMR e hai dimestichezza con Hive o Spark, puoi gestire meglio le configurazioni con questi metodi rispetto alla funzionalità nativa Esporta in S3. Puoi inoltre utilizzare i cluster esistenti per questo scopo.
  • Contro: Questi metodi richiedono la creazione e la manutenzione di un cluster EMR. Se usi DynamoDBStorageHandler, devi avere dimestichezza con Hive o Spark.

AWS Glue

Usa AWS Glue per copiare la tua tabella su Amazon S3. Per ulteriori informazioni consulta la sezione Using AWS Glue and Amazon DynamoDB export.

  • Pro: Poiché AWS Glue è un servizio serverless, non è necessario creare e gestire risorse. Puoi effettuare la scrittura inversa direttamente su DynamoDB. Durante l'esportazione dei dati puoi aggiungere una logica ETL personalizzata a seconda dei casi d'uso, come il filtraggio e la conversione. Puoi anche scegliere il tuo formato preferito tra CSV, JSON, Parquet oppure ORC. Per ulteriori informazioni consulta la sezione Data format options for inputs and outputs in AWS Glue.
  • Contro: Se scegli questa opzione, devi saper usare Spark. Devi anche conservare il codice sorgente del tuo processo ETL di AWS Glue. Per ulteriori informazioni consulta la sezione "connectionType": "dynamodb".

Se nessuna di queste opzioni offre la flessibilità di cui hai bisogno, puoi utilizzare l'API DynamoDB per creare la tua soluzione.

Informazioni correlate

Come richiedere l'esportazione di una tabella in DynamoDB

Come esportare una tabella Amazon DynamoDB in Amazon S3 utilizzando AWS Step Functions e AWS Glue

AWS UFFICIALE
AWS UFFICIALEAggiornata 9 mesi fa