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

Прием данных из 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. Amazon Aurora Postgres

  3. Supabase Postgres

  4. Google Cloud SQL Postgres

  5. Azure Flexible Server for Postgres

  6. Neon Postgres

  7. Crunchy Bridge Postgres

  8. Generic Postgres Source, если вы используете какого-либо другого поставщика Postgres или используете самоуправляемую версию

осторожно

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

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

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

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

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

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

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

    к сведению

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

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

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

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

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

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

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

примечание

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

После заполнения деталей подключения нажмите "Далее".

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

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

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

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

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

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

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

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

    осторожно

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

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

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

Что дальше?

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

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

к сведению

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