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

Приём данных из MySQL в ClickHouse (с использованием CDC)

Beta feature. Learn more.
Справочные материалы

Приём данных из MySQL в ClickHouse Cloud через ClickPipes доступен в режиме публичного бета-тестирования.

Вы можете использовать ClickPipes для приёма данных из исходной базы данных MySQL в ClickHouse Cloud. Исходная база данных MySQL может размещаться в локальной инфраструктуре (on-premises) или в облаке с использованием таких сервисов, как Amazon RDS, Google Cloud SQL и другие.

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

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

  1. Amazon RDS MySQL

  2. Amazon Aurora MySQL

  3. Cloud SQL for MySQL

  4. Generic MySQL

  5. Amazon RDS MariaDB

  6. Generic MariaDB

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

Создайте свой ClickPipe

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

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

Добавьте подключение к исходной базе данных MySQL

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

    Справочные материалы

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

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

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

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

  1. Включите переключатель "Use SSH Tunnelling".

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

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

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

Примечание

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

После того как параметры подключения будут заполнены, нажмите Next.

Настройка расширенных параметров

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

  • Sync interval: Интервал, с которым ClickPipes опрашивает исходную базу данных на предмет изменений. Это влияет на целевой сервис ClickHouse; для пользователей, чувствительных к стоимости, мы рекомендуем устанавливать более высокое значение (более 3600).
  • Parallel threads for initial load: Количество параллельных воркеров, которые будут использоваться для получения начального снимка. Полезно, если у вас много таблиц и вы хотите контролировать количество параллельных воркеров, используемых для получения начального снимка. Этот параметр задаётся для каждой таблицы.
  • Pull batch size: Количество строк, извлекаемых в одном батче. Это параметр в режиме «best effort», и он может не всегда строго соблюдаться.
  • Snapshot number of rows per partition: Количество строк, которые будут извлечены в каждом разделе (partition) во время начального снимка. Полезно, если у вас много строк в таблицах и вы хотите контролировать количество строк, извлекаемых в каждом разделе.
  • Snapshot number of tables in parallel: Количество таблиц, которые будут извлекаться параллельно во время начального снимка. Полезно, если у вас много таблиц и вы хотите контролировать количество таблиц, извлекаемых параллельно.

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

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

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

Просмотрите права доступа и запустите ClickPipe

  1. Выберите роль "Full access" в выпадающем списке прав доступа и нажмите "Complete Setup".

    Просмотр прав доступа

Наконец, для получения дополнительной информации о распространённых проблемах и способах их решения обратитесь к разделу "ClickPipes for MySQL FAQ".

Что дальше?

После того как вы настроите ClickPipe для репликации данных из MySQL в ClickHouse Cloud, вы можете сосредоточиться на том, как выполнять запросы и моделировать данные для оптимальной производительности. Ответы на распространённые вопросы по CDC для MySQL и устранению неполадок см. на странице часто задаваемых вопросов по MySQL.