Приём данных из MongoDB в ClickHouse (с использованием CDC)
Приём данных из MongoDB в ClickHouse Cloud через ClickPipes находится в стадии публичного бета-тестирования.
В консоли и документации ClickHouse Cloud термины «table» и «collection» используются как взаимозаменяемые для MongoDB.
Вы можете использовать ClickPipes для приёма данных из базы данных MongoDB в ClickHouse Cloud. Исходная база данных MongoDB может размещаться в локальной инфраструктуре (on-premises) или в облаке с использованием таких сервисов, как MongoDB Atlas.
Предварительные требования
Для начала необходимо убедиться, что ваша база данных MongoDB корректно настроена для репликации. Шаги настройки зависят от того, как вы разворачиваете MongoDB, поэтому следуйте соответствующему руководству ниже:
После того как исходная база данных MongoDB будет настроена, вы можете приступить к созданию ClickPipe.
Создайте ClickPipe
Убедитесь, что вы вошли в свою учетную запись ClickHouse Cloud. Если у вас еще нет учетной записи, вы можете зарегистрироваться здесь.
- В консоли ClickHouse Cloud перейдите к своему сервису ClickHouse Cloud Service.

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

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

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

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

-
Чтобы использовать аутентификацию по ключу, нажмите "Revoke and generate key pair", чтобы сгенерировать новую пару ключей, и скопируйте сгенерированный открытый ключ на ваш SSH-сервер в
~/.ssh/authorized_keys. -
Нажмите "Verify Connection", чтобы проверить подключение.
Убедитесь, что вы добавили IP-адреса ClickPipes в список разрешённых в правилах межсетевого экрана (firewall) для SSH bastion-хоста, чтобы ClickPipes мог установить SSH-туннель.
После заполнения параметров подключения нажмите Next.
Настройка расширенных параметров
При необходимости вы можете настроить расширенные параметры. Краткое описание каждого параметра приведено ниже:
- Sync interval: Интервал, с которым ClickPipes будет опрашивать исходную базу данных на наличие изменений. Это влияет на целевой сервис ClickHouse; для пользователей, чувствительных к затратам, мы рекомендуем устанавливать более высокое значение (выше
3600). - Pull batch size: Количество строк, извлекаемых за один пакет. Это параметр по принципу «best effort», и он может соблюдаться не во всех случаях.
- Snapshot number of tables in parallel: Количество таблиц, которые будут считываться параллельно во время начального snapshot. Это полезно, когда у вас большое количество таблиц и вы хотите контролировать число таблиц, извлекаемых параллельно.
Настройте таблицы
-
Здесь вы можете выбрать целевую базу данных для своего ClickPipe. Можно либо выбрать существующую базу данных, либо создать новую.

-
Вы можете выбрать таблицы, которые хотите реплицировать из исходной базы данных MongoDB. При выборе таблиц вы также можете переименовать их в целевой базе данных ClickHouse.
Проверьте разрешения и запустите ClickPipe
-
Выберите роль «Full access» в выпадающем списке разрешений и нажмите «Complete setup».

Что дальше?
После того как вы настроили ClickPipe для репликации данных из MongoDB в ClickHouse Cloud, вы можете сосредоточиться на том, как лучше выполнять запросы к данным и моделировать их для обеспечения оптимальной производительности.
Особенности и ограничения
Ниже перечислены несколько важных особенностей и ограничений при использовании этого коннектора:
- Требуется MongoDB версии 5.1.0+.
- Для CDC (фиксация изменений данных) мы используем нативный API Change Streams MongoDB, который полагается на MongoDB oplog для фиксации изменений в режиме реального времени.
- Документы из MongoDB по умолчанию реплицируются в ClickHouse как данные типа JSON. Это обеспечивает гибкое управление схемой и позволяет использовать широкий набор JSON-операторов в ClickHouse для запросов и аналитики. Подробнее о выполнении запросов к данным JSON можно узнать здесь.
- Самостоятельная настройка PrivateLink в настоящее время недоступна. Если вы используете AWS и вам требуется PrivateLink, свяжитесь с db-integrations-support@clickhouse.com или создайте тикет в службу поддержки — мы поможем вам включить эту возможность.