Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

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

Возможность в статусе бета

С помощью ClickPipes вы можете выполнять ингестию данных из базы данных MongoDB в ClickHouse Cloud. Исходная база данных MongoDB может размещаться в собственной инфраструктуре или в облаке с использованием таких сервисов, как MongoDB Atlas.

MongoDB ClickPipes можно развертывать и настраивать вручную через интерфейс ClickPipes, а также программно с помощью OpenAPI и Terraform.

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

Перед началом убедитесь, что ваша база данных 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, которую вы настроили на этапе предварительной подготовки.
Заполните сведения о подключении

(Необязательно) Изменение настроек TLS

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

Настройки TLS

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

Connection settings -> Edit Connection
Edit Connection

Где:

  • Disable TLS включает или отключает TLS для соединения. Если TLS отключён, данные передаются по сети в открытом виде, включая потенциально учётные данные и другую конфиденциальную информацию.
  • Skip certificate verification включает или отключает проверку сертификата, предоставленного исходной базой данных. Учитывайте риски для безопасности при отключении проверки сертификата.
  • TLS Host (необязательно; по умолчанию используется исходный Host) — это hostname, с которым должен совпадать CN сертификата, если включена проверка сертификата.
  • Upload CA используется для загрузки CA, который применяется при включённой проверке сертификата.

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

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

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

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

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

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

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

Настройте дополнительные параметры

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

  • Интервал синхронизации: интервал, с которым ClickPipes будет опрашивать исходную базу данных на наличие изменений. Это влияет на целевой сервис ClickHouse, поэтому пользователям, чувствительным к стоимости, рекомендуется устанавливать более высокое значение (свыше 3600).
  • Размер батча Pull: количество строк, получаемых за один батч. Это параметр best effort, поэтому он может соблюдаться не во всех случаях.
  • Количество таблиц, обрабатываемых параллельно при создании снимка: количество таблиц, которые будут извлекаться параллельно во время создания первоначального снимка. Это полезно, если у вас много таблиц и вы хотите контролировать, сколько из них обрабатывается параллельно.

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

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

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

Проверьте разрешения и запустите ClickPipe

  1. Выберите роль «Полный доступ» в раскрывающемся списке разрешений и нажмите «Завершить настройку».

    Проверьте разрешения

Что дальше?

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

Важные замечания

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

  • Требуется MongoDB версии 5.1.0 и выше.
  • Для CDC мы используем нативный API Change Streams в MongoDB, который опирается на MongoDB oplog для фиксации изменений в реальном времени.
  • По умолчанию документы из MongoDB реплицируются в ClickHouse в типе JSON. Это обеспечивает гибкое управление схемой и позволяет использовать в ClickHouse богатый набор JSON-операторов для запросов и аналитики. Подробнее о запросах к данным JSON можно узнать здесь.
Navigation