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

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

Beta feature. Learn more.
Ссылки

Ингестия данных из MySQL в ClickHouse Cloud с помощью ClickPipes находится в стадии публичной беты.

MySQL ClickPipe предоставляет полностью управляемый и отказоустойчивый способ приёма данных из баз данных MySQL и MariaDB в ClickHouse Cloud. Он поддерживает как массовые загрузки (bulk loads) для одноразовой ингестии, так и Change Data Capture (CDC) для непрерывной ингестии.

MySQL ClickPipes могут развертываться и управляться вручную через интерфейс ClickPipes UI. В будущем можно будет развертывать и управлять MySQL ClickPipes программно с использованием OpenAPI и Terraform.

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

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

Поддерживаемые источники данных

НазваниеЛоготипПодробности
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.
Self-hosted MySQL
Разовая загрузка, CDC
Следуйте инструкциям в руководстве по настройке Generic MySQL.
Amazon RDS MariaDB
Разовая загрузка, CDC
Следуйте инструкциям в руководстве по настройке Amazon RDS MariaDB.
Self-hosted MariaDB
Разовая загрузка, CDC
Следуйте инструкциям в руководстве по настройке Generic MariaDB.

После настройки исходной базы данных MySQL вы можете продолжить создание ClickPipe.

Создайте ClickPipe

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

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

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

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

    Ссылки

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

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

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

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

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

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

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

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

Примечание

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

После заполнения параметров подключения нажмите Next.

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

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

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

Настройте таблицы

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

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

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

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

    Проверка прав доступа

Дополнительные сведения о распространённых проблемах и способах их решения см. на странице "ClickPipes for MySQL FAQ".

Что дальше?

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