Приём данных из MySQL в ClickHouse (с использованием CDC)
Приём данных из MySQL в ClickHouse Cloud через ClickPipes доступен в режиме публичного бета-тестирования.
Вы можете использовать ClickPipes для приёма данных из исходной базы данных MySQL в ClickHouse Cloud. Исходная база данных MySQL может размещаться в локальной инфраструктуре (on-premises) или в облаке с использованием таких сервисов, как Amazon RDS, Google Cloud SQL и другие.
Предварительные требования
Прежде чем начать, необходимо убедиться, что ваша база данных MySQL корректно настроена для репликации binlog. Этапы настройки зависят от способа развертывания MySQL, поэтому следуйте соответствующему руководству ниже:
После того как исходная база данных MySQL будет настроена, можно переходить к созданию ClickPipe.
Создайте свой ClickPipe
Убедитесь, что вы вошли в свою учетную запись ClickHouse Cloud. Если у вас еще нет учетной записи, вы можете зарегистрироваться здесь.
- В консоли ClickHouse Cloud перейдите к своему сервису ClickHouse Cloud.

- В левом меню выберите кнопку
Data Sourcesи нажмите "Set up a ClickPipe".

- Выберите плитку
MySQL CDC.

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

(Необязательно) Настройка SSH-туннелирования
Вы можете указать параметры SSH-туннелирования, если ваша исходная база данных MySQL недоступна из публичной сети.
-
Включите переключатель "Use SSH Tunnelling".
-
Заполните параметры SSH-подключения.

-
Чтобы использовать аутентификацию по ключу, нажмите "Revoke and generate key pair", чтобы сгенерировать новую пару ключей, и скопируйте сгенерированный открытый ключ на SSH-сервер в файл
~/.ssh/authorized_keys. -
Нажмите "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: Количество таблиц, которые будут извлекаться параллельно во время начального снимка. Полезно, если у вас много таблиц и вы хотите контролировать количество таблиц, извлекаемых параллельно.
Настройка таблиц
-
Здесь вы можете выбрать целевую базу данных для вашего ClickPipe. Вы можете выбрать существующую базу данных или создать новую.

-
Вы можете выбрать таблицы, которые нужно реплицировать из исходной базы данных MySQL. При выборе таблиц вы также можете переименовать таблицы в целевой базе данных ClickHouse, а также исключить отдельные столбцы.
Просмотрите права доступа и запустите ClickPipe
-
Выберите роль "Full access" в выпадающем списке прав доступа и нажмите "Complete Setup".

Наконец, для получения дополнительной информации о распространённых проблемах и способах их решения обратитесь к разделу "ClickPipes for MySQL FAQ".
Что дальше?
После того как вы настроите ClickPipe для репликации данных из MySQL в ClickHouse Cloud, вы можете сосредоточиться на том, как выполнять запросы и моделировать данные для оптимальной производительности. Ответы на распространённые вопросы по CDC для MySQL и устранению неполадок см. на странице часто задаваемых вопросов по MySQL.