访问 Postgres 数据库以进行分析管道

大家好,我没有找到类似的帖子,所以在此发帖:

我们组织正在构建分析仪表板(在 Snowflake 中),并希望集成我们在 Discourse 中拥有的用户数据。

目前,我们在 Docker 中的 EC2 实例上自托管 Discourse。这里似乎有几个选项:

  1. 使用 AWS Database Migration Service 访问托管在 EC2 上的 Postgres 服务器。这需要公开 Postgres 端口(我认为默认情况下它未配置为公开访问)并创建一个新的 Postgres 用户,但除此之外,这似乎是一个相当不错的解决方案。
  • 直接将 SQL 转储到 s3 存储桶(Discourse 的备份方式)将不起作用,因为 Snowflake 不接受 SQL 作为数据格式。
  1. 安装 Data Explorer 插件,编写输出我们所需数据的查询,然后运行 + 以 CSV/JSON 格式导出结果数据,然后我们可以将其导入 Snowflake。
  • 此解决方案看起来比上面的选项 1 步骤更多,但也能达到目的,并且出错 Discourse 数据库的可能性更小。

我很想听听大家的意见或了解其他人将数据库数据导入分析管道的经验。谢谢!

如果 Snowflake 可以与 Postgres 通信,那么我会打开一个 Postgres 端口(并设置适当的防火墙来限制访问),让它与之通信。

如果 Snowflake 可以读取 csv/json,那么您可以使用数据浏览器通过 API 自动检索相关内容。

1 个赞

这很合理。我可能会尝试直接进行(我的选项 1)。存储成本很低,现在将整个数据库转储到 Snowflake,这样我们就可以在一个仓库中定义所有的分析查询,这比为一组分析请求在数据浏览器中定义一些查询,然后他们又要求更多,我们再定义另一组,如此循环往复,感觉开销要小得多……