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

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

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

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

Примечание

В консоли и документации ClickHouse Cloud термины «table» и «collection» для MongoDB используются взаимозаменяемо.

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

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

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

  1. MongoDB Atlas

  2. Обычная установка MongoDB

  3. Amazon DocumentDB

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

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

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

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

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

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

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

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

    Заполнение данных подключения

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

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

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

Что дальше?

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

Ограничения

Ниже приведены несколько ограничений, которые следует учитывать при использовании этого коннектора:

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