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

Погружение данных из Postgres в ClickHouse (с использованием CDC)

Beta feature. Learn more.
к сведению

В настоящее время погружение данных из Postgres в ClickHouse Cloud через ClickPipes находится на публичной бета-версии.

Вы можете использовать ClickPipes для погружения данных из вашей исходной базы данных Postgres в ClickHouse Cloud. Исходная база данных Postgres может быть размещена на локальном сервере или в облаке, включая Amazon RDS, Google Cloud SQL, Azure Database for Postgres, Supabase и другие.

Предварительные требования

Чтобы начать, сначала убедитесь, что ваша база данных Postgres настроена правильно. В зависимости от вашей исходной инстанции Postgres, вы можете следовать любому из следующих руководств:

  1. Amazon RDS Postgres

  2. Supabase Postgres

  3. Google Cloud SQL Postgres

  4. Azure Flexible Server для Postgres

  5. Neon Postgres

  6. Crunchy Bridge Postgres

  7. Общий источник Postgres, если вы используете какого-либо другого поставщика Postgres или используете собственную инстанцию

осторожно

Прокси для Postgres, такие как PgBouncer, RDS Proxy, Supabase Pooler и т.д., не поддерживаются для репликации на основе CDC. Пожалуйста, убедитесь, что вы НЕ используете их для настройки ClickPipes, а вместо этого добавьте данные для подключения к фактической базе данных Postgres.

Как только ваша исходная база данных Postgres настроена, вы можете продолжить создание вашего ClickPipe.

Создание вашего ClickPipe

Убедитесь, что вы вошли в свою учетную запись ClickHouse Cloud. Если у вас еще нет учетной записи, вы можете зарегистрироваться здесь.

  1. В консоли ClickHouse Cloud перейдите к вашему сервису ClickHouse Cloud.
Сервис ClickPipes
  1. Выберите кнопку Data Sources в меню слева и нажмите "Настроить ClickPipe"
Выберите импорт
  1. Выберите плитку Postgres CDC

    Выберите Postgres

Добавление соединения с вашей исходной базой данных Postgres

  1. Заполните данные подключения для вашей исходной базы данных Postgres, которую вы настроили на этапе предварительных требований.

    к сведению

    Перед тем как начать добавлять информацию для подключения, убедитесь, что вы внесли IP-адреса ClickPipes в белый список в правилах брандмауэра. Вы можете найти список IP-адресов ClickPipes здесь. Для получения дополнительной информации ознакомьтесь с руководствами по настройке исходного Postgres, связанными в верхней части этой страницы.

    Заполните данные подключения

(Необязательно) Настройка SSH туннелирования

Вы можете указать детали SSH туннелирования, если ваша исходная база данных Postgres недоступна публично.

  1. Включите переключатель "Использовать SSH туннелирование".

  2. Заполните данные подключения SSH.

    SSH туннелирование
  3. Чтобы использовать аутентификацию на основе ключа, нажмите на "Отозвать и сгенерировать пару ключей", чтобы сгенерировать новую пару ключей и скопируйте сгенерированный открытый ключ на ваш SSH сервер в ~/.ssh/authorized_keys.

  4. Нажмите на "Проверить соединение", чтобы подтвердить соединение.

примечание

Убедитесь, что вы внесли IP-адреса ClickPipes в белый список в правилах брандмауэра для SSH бастионного хоста, чтобы ClickPipes мог установить SSH туннель.

Как только данные подключения заполнены, нажмите "Далее".

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

  1. Убедитесь, что вы выбрали слот репликации из выпадающего списка, который вы создали на этапе предварительных требований.

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

Расширенные настройки

Вы можете настроить расширенные параметры при необходимости. Краткое описание каждого параметра приведено ниже:

  • Интервал синхронизации: Это интервал, в течение которого ClickPipes будет опрашивать исходную базу данных на предмет изменений. Это имеет значение для сервиса ClickHouse назначения, для экономных пользователей мы рекомендуем оставить это значение высоким (более 3600).
  • Параллельные потоки для начальной загрузки: Это количество параллельных рабочих процессов, которые будут использоваться для получения начального снимка. Это полезно, когда у вас большое количество таблиц, и вы хотите контролировать количество параллельных рабочих процессов, используемых для получения начального снимка. Эта настройка применяется к каждой таблице.
  • Размер партии для выборки: Число строк, которые будут извлечены за один раз. Это настройка наилучшего усилия и может не учитываться во всех случаях.
  • Число строк снимка на партицию: Это количество строк, которые будут извлечены в каждой партиции во время начального снимка. Это полезно, когда у вас большое количество строк в таблицах, и вы хотите контролировать количество строк, извлекаемых в каждой партиции.
  • Число таблиц для параллельного извлечения: Это количество таблиц, которые будут извлечены параллельно во время начального снимка. Это полезно, когда у вас большое количество таблиц, и вы хотите контролировать количество таблиц, извлекаемых параллельно.

Настройка таблиц

  1. Здесь вы можете выбрать базу данных назначения для вашего ClickPipe. Вы можете либо выбрать существующую базу данных, либо создать новую.

    Выберите базу данных назначения
  2. Вы можете выбрать таблицы, которые хотите реплицировать из исходной базы данных Postgres. При выборе таблиц вы также можете переименовать таблицы в базе данных ClickHouse назначения, а также исключить конкретные колонки.

    осторожно

    Если вы определяете Ordering Key в ClickHouse иначе, чем Primary Key в Postgres, пожалуйста, не забудьте прочитать все нюансы вокруг этого!

Проверьте права и начните ClickPipe

  1. Выберите роль "Полный доступ" из выпадающего списка прав и нажмите "Завершить настройку".

    Проверьте права

Что дальше?

Как только вы переместили данные из Postgres в ClickHouse, следующий очевидный вопрос — как смоделировать ваши данные в ClickHouse, чтобы максимально их использовать. Пожалуйста, изучите эту страницу с Советами по моделированию данных ClickHouse для пользователей Postgres, чтобы помочь вам смоделировать данные в ClickHouse.

Кроме того, пожалуйста, ознакомьтесь с FAQ по ClickPipes для Postgres для получения дополнительной информации о распространенных проблемах и о том, как их решить.

к сведению

Это особенно важно, так как ClickHouse отличается от Postgres, и вы можете столкнуться с некоторыми сюрпризами. Это руководство помогает решить потенциальные трудности и гарантирует, что вы сможете в полной мере использовать ClickHouse.