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

Импорт данных из Postgres в ClickHouse (с использованием CDC)

Вы можете использовать ClickPipes для импорта данных из вашей исходной базы данных Postgres в ClickHouse Cloud. Исходная база данных Postgres может быть размещена on-premises или в облаке, включая 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 или самоуправляемую инстанцию.

  9. TimescaleDB, если вы используете расширение TimescaleDB на управляемом сервисе или самоуправляемой инстанции.

предупреждение

Прокси-серверы 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, связанным с этой страницей.

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

Вы можете использовать AWS Private Link для подключения к вашей исходной базе данных Postgres, если она размещена в AWS. Это полезно, если вы хотите сохранить передачу данных в приватном режиме. Вы также можете следовать руководству по настройке подключения.

(По желанию) Настройка 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, а также исключить конкретные колонки.

    предупреждение

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

Проверьте разрешения и начните ClickPipe

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

    Проверьте разрешения

Что дальше?

После того как вы настроили ваш ClickPipe для репликации данных из PostgreSQL в ClickHouse Cloud, вы можете сосредоточиться на том, как запрашивать и моделировать ваши данные для оптимальной производительности. Ознакомьтесь с руководством по миграции, чтобы оценить, какая стратегия лучше всего соответствует вашим требованиям, а также с страницами Стратегии дедупликации (с использованием CDC) и Ключи сортировки для лучших практик в работе с нагрузками CDC.

Для получения распространенных вопросов по PostgreSQL CDC и устранению неполадок, смотрите страницу часто задаваемых вопросов Postgres.