Перейти к основному содержимому
Перейти к основному содержимому

Интеграция с ClickHouse

Private preview

Каждый экземпляр Managed Postgres поставляется со встроенными возможностями CDC для любых ваших сервисов ClickHouse. Это позволяет перенести часть или все данные из вашего экземпляра Postgres в ClickHouse и обеспечить, чтобы изменения данных в Postgres практически непрерывно и почти в режиме реального времени отражались в ClickHouse. Под капотом для этого используется ClickPipes.

Чтобы воспользоваться этой возможностью, нажмите ClickHouse Integration в боковой панели вашего экземпляра Postgres.

Целевая страница интеграции с ClickHouse, показывающая вариант интеграции в боковой панели
Примечание

Прежде чем продолжить, убедитесь, что ваш сервис Postgres доступен для сервиса ClickPipes. Так должно быть по умолчанию, но если вы ограничили доступ по IP, возможно, вам потребуется предоставить доступ некоторым исходным IP‑адресам из этого списка в зависимости от региона, где находится ваш сервис ClickHouse.

Нажмите Replicate data in ClickHouse, чтобы начать настройку вашего ClickPipe.

Настройка сервиса репликации

Заполните параметры репликации:

  • Integration name: имя для этого ClickPipe
  • ClickHouse service: выберите существующий сервис ClickHouse Cloud или создайте новый
  • Postgres database: исходная база данных, из которой выполняется репликация
  • Replication method: выберите один из вариантов:
    • Initial load + CDC (фиксация изменений данных): импортировать существующие данные и поддерживать таблицы в актуальном состоянии при появлении новых изменений (рекомендуется)
    • Initial load only: одноразовый снимок существующих данных без последующих обновлений
    • CDC (фиксация изменений данных) only: пропустить начальный снимок и фиксировать только новые изменения в дальнейшем
Конфигурация сервиса репликации, показывающая имя интеграции, целевой сервис и параметры метода репликации

Нажмите Next, чтобы продолжить.

Настройка параметров репликации

Тонко настройте параметры репликации данных:

  • Sync interval (seconds): как часто изменения извлекаются из Postgres (по умолчанию: 60)
  • Parallel threads for initial load: количество потоков, используемых при начальном снимке (по умолчанию: 4)
  • Pull batch size: количество строк, извлекаемых за один батч во время репликации (по умолчанию: 100000)
  • Snapshot number of rows per partition: количество строк на партицию при начальном снимке (по умолчанию: 100000)
  • Snapshot number of tables in parallel: сколько таблиц одновременно обрабатываются при создании снимка (по умолчанию: 1)
Шаг настройки параметров репликации, показывающий интервал синхронизации, параллельные потоки, размер батча извлечения и параметры создания снимка

Нажмите Next, чтобы продолжить.

Выбор таблиц для репликации

Выберите целевую базу данных и укажите, какие таблицы реплицировать:

  • Destination database: выберите существующую базу данных ClickHouse или создайте новую
  • Prefix default destination table names with schema name: добавляет схему Postgres в качестве префикса, чтобы избежать конфликтов имён
  • Preserve NULL values from source: сохраняет значения NULL вместо преобразования их в значения по умолчанию
  • Remove deleted rows during merges: для таблиц ReplacingMergeTree физически удаляет помеченные как удалённые строки во время фоновых слияний

Разверните схемы и выберите отдельные таблицы для репликации. Вы также можете настроить имена целевых таблиц и параметры столбцов.

Шаг выбора таблиц, показывающий выбор базы данных, параметры репликации и выбор таблиц, сгруппированных по схеме

Нажмите Replicate data to ClickHouse, чтобы запустить репликацию.

Мониторинг вашего ClickPipe

После запуска ClickPipe вы увидите его в том же меню. Начальный снимок всех данных может занять некоторое время в зависимости от размера ваших таблиц.

Список интеграций с ClickHouse, показывающий запущенный ClickPipe с его целевым сервисом и статусом

Нажмите на имя интеграции, чтобы просмотреть подробный статус, отслеживать прогресс, просматривать ошибки и управлять ClickPipe. См. раздел Lifecycle of a Postgres ClickPipe, чтобы понять различные состояния, в которых может находиться ваш ClickPipe.