Accesso al Database Postgres per Analytics Pipeline

Ciao a tutti, non ho trovato un post simile a questo, quindi ecco qui:

La mia organizzazione sta costruendo le nostre dashboard di analisi (all’interno di Snowflake) e spera di integrare i dati utente che abbiamo in Discourse.

Attualmente, stiamo ospitando Discourse su un’istanza EC2 all’interno di Docker. Ci sono un paio di opzioni qui:

  1. Utilizzare AWS Database Migration Service per accedere al server Postgres ospitato sull’EC2. Ciò richiederebbe l’esposizione della porta Postgres (che non credo sia configurata per essere pubblicamente accessibile per impostazione predefinita) e la creazione di un nuovo utente Postgres, ma per il resto sembra una soluzione abbastanza valida.
  • Un semplice dump SQL in un bucket S3 (come funzionano i backup in Discourse) non funzionerà, poiché SQL non è accettato come formato dati da Snowflake.
  1. Installare il plugin Data Explorer, scrivere le query che producono i dati desiderati, quindi eseguire ed esportare i dati risultanti in CSV/JSON che possiamo quindi importare in Snowflake.
  • Questa soluzione sembra avere più passaggi rispetto alla 1., ma farebbe comunque il suo dovere e avrebbe meno possibilità di danneggiare il database di Discourse.

Apprezzerei un parere o sentire le esperienze di altri nell’integrare i dati del loro database in una pipeline di analisi. Grazie!

Se Snowflake può comunicare con Postgres, allora aprirei una porta Postgres (con un firewall appropriato per limitare l’accesso) e la lascerei comunicare con essa.

Se Snowflake può leggere csv/json, allora potresti usare il data explorer e recuperare le cose automaticamente tramite l’API.

1 Mi Piace

Questo ha senso. Probabilmente proverò a seguire il percorso diretto (la mia opzione 1). Lo storage è economico e scaricare l’intero DB su Snowflake ora, in modo da poter definire tutte le nostre query analitiche in un unico repository, sembra comportare molta meno complessità rispetto alla definizione di alcune query in Data Explorer per un set di richieste analitiche, poi ne chiedono altre, quindi ne definiamo un altro set, e così via…