Доступ к базе данных Postgres для аналитического конвейера

Всем привет, я не нашел похожего обсуждения, поэтому пишу здесь:

Наша организация разрабатывает аналитические дашборды (внутри Snowflake) и надеется интегрировать данные пользователей, которые у нас есть в Discourse.

В настоящее время мы размещаем Discourse самостоятельно на экземпляре EC2 в Docker. Похоже, есть несколько вариантов:

  1. Использовать службу миграции баз данных AWS для доступа к серверу Postgres, размещенному на EC2. Это потребует открытия порта Postgres (который, как я полагаю, по умолчанию не настроен для публичного доступа) и создания нового пользователя Postgres, но в остальном это кажется довольно хорошим решением.
  • Простой дамп SQL в бакет S3 (как работают резервные копии в Discourse) не подойдет, так как Snowflake не принимает SQL в качестве формата данных.
  1. Установить плагин Data Explorer, написать запросы, которые выводят нужные нам данные, а затем выполнить и экспортировать полученные данные в CSV/JSON, которые мы сможем импортировать в Snowflake.
  • Это решение кажется более сложным, чем вариант 1, но также справится с задачей и с меньшей вероятностью нарушит работу базы данных Discourse.

Буду признателен за ваши мнения или истории других людей о том, как они переносили данные из своей БД в аналитический конвейер. Спасибо!

Если Snowflake может взаимодействовать с PostgreSQL, то я бы открыл порт PostgreSQL (с соответствующими правилами брандмауэра для ограничения доступа) и настроил взаимодействие.

Если Snowflake умеет читать CSV/JSON, то можно использовать Data Explorer и автоматически получать данные через API.

Это логично. Скорее всего, попробую пойти прямым путём (мой вариант 1). Хранилище дешёвое, и сейчас мы выгружаем всю базу данных в Snowflake, чтобы определить все наши аналитические запросы в одном репозитории. Это кажется значительно менее затратным, чем определять часть запросов в Data Explorer для набора аналитических задач, а затем, когда просят добавить ещё, определять новый набор, и так далее…