Como posso fazer backup de uma tabela do DynamoDB no Amazon S3?
Quero fazer backup da minha tabela do Amazon DynamoDB usando o Amazon Simple Storage Service (Amazon S3).
Breve descrição
O DynamoDB oferece dois métodos de backup integrados:
- Sob demanda: Crie backups quando quiser.
- Recuperação pontual: Ative os backups automáticos e contínuos.
Esses dois métodos são adequados para fazer backup de suas tabelas para fins de recuperação de desastres. No entanto, com esses métodos, você não pode usar os dados para casos de uso envolvendo análise de dados ou trabalhos de extração, transformação e carregamento (ETL). O recurso Exportar DynamoDB para S3 é a maneira mais fácil de criar backups que você pode baixar localmente ou usar com outro serviço da AWS. Para personalizar o processo de criação de backups, você pode usar o Amazon EMR ou o AWS Glue.
Resolução
Recurso Exportar DynamoDB para S3
Usando esse atributo, você pode exportar dados de uma tabela do Amazon DynamoDB a qualquer momento dentro da janela de recuperação para um ponto no tempo para um bucket do Amazon S3. Para mais informações, consulte Exportação de dados do DynamoDB para o Amazon S3.
Para obter um exemplo de como usar esse recurso, consulte Exportar dados de tabela do Amazon DynamoDB para seu data lake no Amazon S3, sem necessidade de escrever código.
O uso do recurso Exportar para o S3 permite que você use seus dados de outras formas, incluindo as seguintes:
- Executar ETL em relação aos dados exportados no S3 e, em seguida, importar os dados de volta para o DynamoDB
- Reter snapshots históricos para auditoria
- Integrar os dados com outros serviços ou aplicações
- Criar um data lake do S3 a partir dos dados do DynamoDB e, em seguida, analisar os dados de vários serviços, como o Amazon Athena, o Amazon Redshift ou o Amazon SageMaker
- Executar consultas conforme necessário em seus dados a partir do Athena ou do Amazon EMR sem afetar sua capacidade do DynamoDB
Observe os seguintes prós e contras ao usar esse recurso:
- Prós: esse recurso permite exportar dados entre regiões e contas da AWS sem criar aplicativos personalizados ou escrever código. As exportações não afetam a capacidade de leitura ou a disponibilidade de suas tabelas de produção.
- Contras: esse recurso exporta os dados da tabela somente no formato DynamoDB JSON ou Amazon Ion. Para reimportar os dados nativamente com um bucket do S3, consulte Importar dados do DynamoDB do Amazon S3. Você também pode criar um novo modelo ou usar o AWS Glue, o Amazon EMR ou o AWS SDK para reimportar os dados.
Amazon EMR
Use o Amazon EMR para exportar seus dados para um bucket do S3. Você pode fazer isso com qualquer um destes métodos:
- Execute consultas do Hive/Spark em tabelas do DynamoDB usando DynamoDBStorageHandler. Para mais informações, consulte Exportação de dados a partir do DynamoDB.
- Use o arquivo emr-dynamodb-tool de código aberto no GitHub para exportar/importar tabelas do DynamoDB.
Observe os seguintes prós e contras ao usar esses métodos:
- Prós: se você é um usuário ativo do Amazon EMR e se sente confortável com o Hive ou o Spark, pode gerenciar suas configurações melhor com esses métodos do que com a função nativa Exportar para o S3. Você também pode usar clusters existentes para essa finalidade.
- Contras: Esses métodos exigem que você crie e mantenha um cluster do EMR. Se você usa o DynamoDBStorageHandler, deve conhecer o Hive ou o Spark.
AWS Glue
Use o AWS Glue para copiar sua tabela para o Amazon S3. Para mais informações, consulte Como usar o AWS Glue e a exportação do Amazon DynamoDB.
- Prós: como o AWS Glue é um serviço de tecnologia sem servidor, você não precisa criar e manter recursos. Você pode gravar diretamente no DynamoDB. Você pode adicionar lógica ETL personalizada para casos de uso, como filtragem e conversão, ao exportar dados. Você também pode escolher seu formato preferido entre CSV, JSON, Parquet ou ORC. Para mais informações, consulte Opções de formato de dados para entradas e saídas no AWS Glue.
- Contras: se você escolher essa opção, deve saber como usar o Spark. Você também deve manter o código-fonte do trabalho de ETL do AWS Glue. Para mais informações, consulte "connectionType": "dynamodb".
Se nenhuma dessas opções oferecer a flexibilidade de que você precisa, você pode usar a API do DynamoDB para criar sua própria solução.
Informações relacionadas
Conteúdo relevante
- AWS OFICIALAtualizada há um ano
- AWS OFICIALAtualizada há 7 meses
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 6 meses