Exportando dados do Timestream para o Amazon S3 - Amazon Timestream

Para recursos semelhantes aos do Amazon Timestream para LiveAnalytics, considere o Amazon Timestream para InfluxDB. Ele oferece ingestão de dados simplificada e tempos de resposta de consulta de um dígito em milissegundos para análises em tempo real. Saiba mais aqui.

Exportando dados do Timestream para o Amazon S3

Independentemente do serviço de destino para migração, recomendamos seguir as práticas recomendadas abaixo para exportar seus dados do Timestream para LiveAnalytics para o Amazon S3, criando uma camada de armazenamento intermediária durável que serve como base para a ingestão subsequente específica do banco de dados.

Para exportar dados de forma confiável das tabelas do Timestream para LiveAnalytics para o Amazon S3, recomendamos usar a ferramenta de exportação Timestream para LiveAnalytics, que usa o atributo UNLOAD do Timestream, projetado para exportações de dados em grande escala.

Ferramenta de exportação Timestream para LiveAnalytics

Estratégia de fragmentação baseada no tempo

A fragmentação baseada no tempo é essencial ao migrar grandes volumes de dados de séries temporais. Essa abordagem divide o processo de exportação em unidades gerenciáveis que podem ser processadas de forma independente e testadas novamente em caso de falhas, reduzindo significativamente os riscos de migração. Ela cria pontos de verificação para facilitar o acompanhamento do progresso e adiciona a capacidade de retomar após interrupções. Para organizações com ingestão de dados contínua, isso permite que dados mais novos sejam exportados em intervalos de tempo separados, permitindo uma melhor coordenação entre as operações em andamento e a migração. A ferramenta usa fragmentação baseada em dias, armazenando os dados de cada dia com o prefixo de bucket S3 para um gerenciamento eficiente. Além disso, a fragmentação pode ser baseada em hora, dia, mês ou ano.

Monitorando a migração

A ferramenta fornece uma opção para capturar as estatísticas de migração em uma tabela do DynamoDB, rastreando métricas como configurações usadas, registros exportados e outros pontos de dados para validar a integridade da sua migração. Recomendamos monitorar essas métricas de perto durante sua migração e validação. Você também pode usar o log fornecido em seu script de orquestração, capturando registros de data e hora de execução, limites de fragmentos e quaisquer condições de erro encontradas. A ferramenta também fornece notificação de SNS se você quiser integrar seu sistema a jusante para agir em caso de falhas.

Práticas recomendadas e recomendações

A ferramenta de exportação Timestream para LiveAnalytics fornece uma solução flexível e robusta para exportar dados para o S3 com várias opções de configuração adaptadas aos requisitos do sistema de destino. Se seu destino for o Timestream para InfluxDB, use o formato Parquet sem compressão para garantir a compatibilidade com scripts de ingestão. Para otimizar o rastreamento e o monitoramento, ative o registro em log do DynamoDB e configure as notificações SNS para receber alertas sobre falhas ou conclusões de exportação.

A ferramenta aproveita o atributo UNLOAD do Timestream para LiveAnalytics e, ao mesmo tempo, supera sua partição para limitações de consulta ao exportar dados automaticamente em lotes com base no intervalo de tempo especificado. Você pode personalizar o particionamento de dados por hora, dia, mês ou ano. O padrão é por dia. Cada partição deve permanecer abaixo de aproximadamente 350 GB para evitar erros relacionados à memória, como o cálculo da consulta excedendo a memória máxima disponível. Por exemplo, se seus dados anuais excederem 350 GB, considere usar partições mensais ou até mesmo opções mais granulares, como particionamento diário ou por hora. Se você escolher por hora e ainda receber o erro “O cálculo da consulta excede a memória máxima disponível”, poderá reduzir o número de partições, garantindo que suas exportações sejam bem-sucedidas.

A ferramenta oferece flexibilidade no escopo da exportação, permitindo que você exporte uma única tabela, um banco de dados inteiro ou todos os bancos de dados da sua conta. Para requisitos mais especializados, como exportar vários bancos de dados específicos, você pode criar um wrapper personalizado em torno dessa automação. Além disso, você pode optar por exportar primeiro os dados mais recentes ao ativar a opção de ordem cronológica inversa. Ao reiniciar após as falhas, você pode continuar com a mesma tag de migração para manter todos os arquivos com o mesmo prefixo S3 ou omitir a tag para criar arquivos com um novo prefixo. Como a ferramenta exporta os dados em lotes, se você encontrar falhas, recomendamos começar do lote com falha em vez de reiniciar do horário de início original. Se você não especificar um registro de data e hora de término, a ferramenta usará automaticamente o registro de data e hora atual (UTC) para garantir exportações e validações consistentes.

Comandos básicos

exemplo : exportar uma tabela com o registro do DynamoDB ativado
python3.9 unload.py \ --export-table \ --database Demo \ --table Demo \ --start-time '2020-03-26 17:24:38' \ --enable-dynamodb_logger true
exemplo : exportar o banco de dados inteiro
python3.9 unload.py \ --export-database \ --database Demo \ --start-time '2020-03-26 17:24:38'
exemplo : exportar todos os bancos de dados
python3.9 unload.py \ --export-all_databases \ --start-time '2020-03-26 17:24:38'
exemplo : exportação avançada com mais opções
python unload.py \ --export-table \ --database MyDB \ --table MyTable \ --start-time '2024-05-14 00:00:00' \ --end-time '2025-05-14 00:00:00' \ --partition month \ --export-format PARQUET \ --compression GZIP \ --region us-east-1 \ --s3-uri s3://my-bucket \ --enable-dynamodb_logger \ --sns-topic_arn arn:aws:sns:region:account-id:topic-name

Para obter mais informações, consulte README do script de descarregamento.