Aurora/RDS Postgres como alvo - Amazon Timestream

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

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Aurora/RDS Postgres como alvo

Esta seção explica a ingestão de dados de séries temporais em estágios do S3 no Amazon PostgreSQL. RDS/Aurora O processo de ingestão se concentrará principalmente nos arquivos CSV gerados pela ferramenta de exportação do Timestream para serem ingeridos no Postgres. Recomendamos criar o esquema e a tabela do PostgreSQL com estratégias de indexação adequadas para consultas baseadas em tempo. Use qualquer processo de ETL para transformar as estruturas especializadas do Timestream em tabelas relacionais otimizadas para seus requisitos específicos. Ao migrar dados do Timestream para um banco de dados relacional, estruture seu esquema com uma coluna de carimbo de data/hora como índice de tempo principal, colunas identificadoras de medição derivadas do nome_medida do Timestream e colunas de dimensão das dimensões do Timestream e suas medidas reais. Crie índices estratégicos em intervalos de tempo e combinações de dimensões frequentemente consultadas para otimizar o desempenho durante a transformação de dados e o processo de carregamento. Ao migrar dados de séries temporais para o PostgreSQL, o dimensionamento adequado da instância é fundamental para manter o desempenho da consulta em grande escala. Considere o volume de dados esperado, a complexidade da consulta e os requisitos de simultaneidade ao selecionar uma classe de instância, com atenção especial à alocação de memória para cargas de trabalho de agregação de séries temporais. Para conjuntos de dados que excedem dezenas de milhões de linhas, aproveite os recursos nativos de particionamento e as estratégias avançadas de indexação do PostgreSQL para otimizar os padrões de acesso de séries temporais.

Recomendamos realizar testes funcionais e de desempenho para escolher a instância certa e ajustar seu banco de dados PostgreSQL para resolver quaisquer gargalos de desempenho. Realizar verificações rigorosas de integridade de dados por meio de exemplos de comparações de consultas entre o banco de dados Timestream de origem e o sistema de destino é fundamental para garantir o sucesso da migração e manter a correção da consulta. Ao executar consultas idênticas em ambos os sistemas e comparar resultados — incluindo contagens de registros, agregações e valores atípicos — você pode identificar quaisquer discrepâncias que possam indicar erros de transformação, perda de dados ou diferenças semânticas na interpretação da consulta. Esse processo de verificação valida que seus dados mantêm seu valor analítico após a migração, aumenta a confiança no novo sistema entre as partes interessadas que confiam nesses insights, ajuda a identificar quaisquer ajustes de consulta necessários para acomodar as diferenças funcionais ou de sintaxe entre as plataformas e estabelece uma linha de base quantificável para determinar quando a migração pode ser considerada concluída e bem-sucedida. Sem essas verificações sistemáticas, inconsistências sutis de dados podem permanecer indetectadas, o que pode levar a decisões comerciais incorretas ou minar a confiança em todo o projeto de migração.

Ingestão

Recomendamos usar o AWS Database Migration Service (DMS) com origem como S3 (há suporte para CSV e Parquet) com o PostgreSQL como destino. Para cenários em que o AWS DMS pode não ser adequado para seus requisitos específicos, fornecemos um utilitário suplementar baseado em Python (PostgreSQL CSV Inestion Tool) para migrar dados CSV do S3 para o PostgreSQL.

Visão geral da ferramenta de ingestão de CSV PostgreSQL

A Ferramenta de Ingestão de CSV do PostgreSQL é um utilitário de alto desempenho projetado para carregar com eficiência arquivos CSV nos bancos de dados PostgreSQL. Ele aproveita o multiencadeamento e o pool de conexões para processar vários arquivos em paralelo, reduzindo significativamente o tempo de carregamento de dados. Recomendamos executar esse script usando uma EC2 instância. Considere usar tipos de instância otimizados para operações de rede, como C5N.

Atributos principais

  • Processamento multiencadeado: carrega vários arquivos CSV simultaneamente.

  • Pool de conexões: gerencia com eficiência as conexões do banco de dados.

  • Detecção automática de colunas: extrai dinamicamente os nomes das colunas dos cabeçalhos CSV.

  • Lógica de nova tentativa: lida com erros transitórios com recuo exponencial.

  • Gerenciamento de arquivos; move os arquivos processados para um diretório designado para que a nova tentativa seja retomada, mas não reiniciada.

  • Registro abrangente: registros detalhados para monitoramento e solução de problemas.

  • Notificações de erro: notificações SNS opcionais para falhas.

  • Credenciais seguras: recupera senhas do banco de dados do AWS Secrets Manager.

Pré-requisitos e instalação

Veja os pré-requisitos e a instalação no Readme da Ferramenta de Ingestão de CSV PostgreSQL em. GitHub

Uso

python copy_postgres.py \ --database 'postgres_testing' \ --table 'demolarge_restored' \ --csv-files-dir '/data/csv_files/*partition*/*.csv' \ --host database-1.cluster-xxxxxxxx.us-east-1.rds.amazonaws.com \ --secret-arn 'arn:aws:secretsmanager:<region>:<account_id>:secret:rds!cluster-xxxxx-xx-xx-xx-xxxxxxxx-xxxxx' \ --sns-topic-arn 'arn:aws:sns:<region>:<account_id>:<topic_name>'

Validação

Você pode usar o DynamoDB para exportar linhas ou registros gerados pela ferramenta de exportação do Timestream e comparar com linhas ingeridas dos registros de automação de ingestão do PostgreSQL. Você pode selecionar contagens nas tabelas de origem e destino com o tempo consistente de exportação e importação. Se os dados estiverem sendo ingeridos continuamente durante o processo de migração, as contagens variarão, portanto, a recomendação é comparar as linhas exportadas e as linhas importantes do registro.

Limpeza

  • O Cleanup descarregou dados que foram criados como parte da ferramenta Timestream for export. LiveAnalytics

  • Exclua os dados baixados e faça login EC2 para recuperar o espaço.

  • Exclua a tabela do DynamoDB se usada para registro como parte da ferramenta LiveAnalytics Timestream for export.