Acessando Banco de Dados Postgres para Pipeline de Análise

Olá a todos, não encontrei uma postagem semelhante a esta, então vamos lá:

Minha organização está desenvolvendo nossos painéis de análise (dentro do Snowflake) e esperamos integrar os dados do usuário que temos no Discourse.

Atualmente, estamos auto-hospedando o Discourse em uma instância EC2 dentro do Docker. Parece que há algumas opções aqui:

  1. Usar o AWS Database Migration Service para acessar o servidor Postgres hospedado na EC2. Isso exigiria expor a porta Postgres (que acredito que não está configurada para ser publicamente acessível por padrão) e criar um novo usuário Postgres, mas, fora isso, parece uma solução muito boa.
  • Um dump SQL direto para um bucket S3 (como os backups funcionam no Discourse) não funcionará, pois o SQL não é aceito como formato de dados pelo Snowflake.
  1. Instalar o plugin Data Explorer, escrever as consultas que geram os dados que queremos, em seguida, executar e exportar os dados resultantes em CSVs/JSONs que podemos importar para o Snowflake.
  • Esta solução parece ter mais etapas do que a 1 acima, mas também resolveria o problema e teria menos chance de estragar o banco de dados do Discourse.

Agradeceria comentários ou relatos de outras pessoas sobre como obter os dados do banco de dados em um pipeline de análise. Obrigado!

Se o Snowflake puder se comunicar com o Postgres, então eu abriria uma porta do Postgres (com firewall apropriado para limitar o acesso) e deixaria que ele se comunicasse com ela.

Se o Snowflake puder ler csv/json, então você poderia usar o explorador de dados e recuperar os dados automaticamente via API.

1 curtida

Isso faz sentido. Provavelmente vou tentar seguir o caminho direto (minha opção 1). O armazenamento é barato e despejar todo o banco de dados no Snowflake agora para que possamos definir todas as nossas consultas analíticas em um único repositório parece ter muito menos sobrecarga do que definir algumas consultas no Data Explorer para um conjunto de solicitações analíticas, depois eles pedem mais, então definimos outro conjunto, e assim por diante…