MySQL ClickPipe предоставляет полностью управляемое и отказоустойчивое решение для приёма данных из баз данных MySQL и MariaDB в ClickHouse Cloud. Он поддерживает как пакетную загрузку для одноразовой ингестии, так и CDC (фиксацию изменений данных) (фиксацию изменений данных) для непрерывной ингестии.
MySQL ClickPipes можно развёртывать и управлять ими вручную через интерфейс ClickPipes, а также программно с использованием OpenAPI и Terraform.
Предварительные требования
Чтобы начать, сначала убедитесь, что ваша база данных MySQL правильно настроена для репликации binlog. Шаги настройки зависят от того, как именно развёрнут MySQL, поэтому следуйте соответствующему руководству ниже:
Поддерживаемые источники данных
| Name | Logo | Details |
|---|---|---|
| Amazon RDS MySQL Однократная загрузка, CDC |
См. руководство по настройке Amazon RDS MySQL. | |
| Amazon Aurora MySQL Однократная загрузка, CDC |
См. руководство по настройке Amazon Aurora MySQL. | |
| Cloud SQL for MySQL Однократная загрузка, CDC |
См. руководство по настройке Cloud SQL for MySQL. | |
| Azure Flexible Server for MySQL Однократная загрузка |
См. руководство по настройке Azure Flexible Server for MySQL. | |
| Самоуправляемый MySQL Однократная загрузка, CDC |
См. руководство по настройке Общий MySQL. | |
| Amazon RDS MariaDB Однократная загрузка, CDC |
См. руководство по настройке Amazon RDS MariaDB. | |
| Самоуправляемый MariaDB Однократная загрузка, CDC |
См. руководство по настройке Общий MariaDB. |
После настройки исходной базы данных MySQL можно перейти к созданию ClickPipe.
Создайте ClickPipe
Убедитесь, что вы вошли в свою учётную запись ClickHouse Cloud. Если у вас ещё нет учётной записи, вы можете зарегистрироваться здесь.
- В консоли ClickHouse Cloud перейдите к своему сервису ClickHouse Cloud.

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

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

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

(Необязательно) Изменение настроек TLS
По умолчанию ваш ClickPipe создаётся с включённым TLS и проверкой сертификата. Эти параметры можно изменить при создании ClickPipe:

Или отредактировать в разделе Connection settings на вкладке Settings приостановленного ClickPipe:


Где:
Disable TLSвключает или отключает TLS для соединения. Если TLS отключён, данные передаются по сети в открытом виде, включая потенциально учётные данные и другую конфиденциальную информацию.Skip certificate verificationвключает или отключает проверку сертификата, предоставленного исходной базой данных. Учитывайте риски для безопасности при отключении проверки сертификата.TLS Host(необязательно; по умолчанию используется исходный Host) — это hostname, с которым должен совпадать CN сертификата, если включена проверка сертификата.Upload CAиспользуется для загрузки CA, который применяется при включённой проверке сертификата.
(Необязательно) Настройте SSH-туннелирование
Вы можете указать параметры SSH-туннелирования, если ваша исходная база данных MySQL недоступна из интернета.
-
Включите переключатель "Use SSH Tunnelling".
-
Заполните сведения для SSH-подключения.

-
Чтобы использовать аутентификацию по ключу, нажмите "Revoke and generate key pair", чтобы создать новую пару ключей, и скопируйте сгенерированный открытый ключ на ваш SSH-сервер в
~/.ssh/authorized_keys. -
Нажмите "Verify Connection", чтобы проверить подключение.
После заполнения сведений о подключении нажмите Next.
Настройка расширенных параметров
При необходимости можно настроить расширенные параметры. Краткое описание каждого параметра приведено ниже:
- Интервал синхронизации: интервал, с которым ClickPipes будет опрашивать исходную базу данных на предмет изменений. Это влияет на целевой сервис ClickHouse, поэтому пользователям, чувствительным к затратам, рекомендуется задавать здесь более высокое значение (свыше
3600). - Параллельные потоки для начальной загрузки: количество параллельных воркеров, которые будут использоваться для получения начального снимка. Это полезно, если у вас много таблиц и вы хотите управлять числом параллельных воркеров, используемых для получения начального снимка. Этот параметр задается отдельно для каждой таблицы.
- Размер батча Pull: количество строк, извлекаемых за один батч. Это параметр best effort, поэтому он может соблюдаться не во всех случаях.
- Количество строк снимка на партицию: количество строк, которое будет извлекаться в каждой партиции во время начального снимка. Это полезно, если в ваших таблицах много строк и вы хотите управлять количеством строк, извлекаемых в каждой партиции.
- Количество таблиц в снимке, обрабатываемых параллельно: количество таблиц, которые будут извлекаться параллельно во время начального снимка. Это полезно, если у вас много таблиц и вы хотите управлять количеством таблиц, извлекаемых параллельно.
- Server ID: необязательный параметр для задания идентификатора сервера для репликации binlog на сервере MySQL. Если он не задан, ClickPipes сгенерирует случайный идентификатор сервера, который может меняться в течение жизненного цикла ClickPipe. Используйте его, чтобы однозначно идентифицировать ваш ClickPipe на стороне исходного сервера MySQL.
Настройте таблицы
-
Здесь вы можете выбрать целевую базу данных для вашего ClickPipe. Можно выбрать существующую базу данных или создать новую.

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

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