> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-vortex-format.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Описывает, как без проблем подключить MongoDB к ClickHouse Cloud.

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

export const Image = ({img, alt, size = "lg"}) => {
  const normalizedSize = ["sm", "md", "lg"].includes(size) ? size : "lg";
  return <div className={`ch-image-${normalizedSize}`}>
      <Frame>
        <img src={img} alt={alt} />
      </Frame>
    </div>;
};

export const BetaBadge = ({link, galaxyTrack, galaxyEvent}) => {
  if (link) {
    return <a href={link} target="_blank" rel="noopener noreferrer" className="betaBadge" onClick={galaxyTrack && galaxyEvent ? galaxyOnClick(galaxyEvent) : undefined}>
                <span>Бета</span>
            </a>;
  }
  return <a href="/ru/reference/settings/beta-and-experimental-features#beta-features" className="betaBadge">
            <span>Возможность в статусе бета</span>
        </a>;
};

<BetaBadge />

<Info>
  Ингестия данных из MongoDB в ClickHouse Cloud через ClickPipes находится на стадии публичной беты.
</Info>

<Note>
  В консоли ClickHouse Cloud и в документации для MongoDB термины "таблица" и "коллекция" используются как взаимозаменяемые.
</Note>

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

MongoDB ClickPipes можно развертывать и настраивать вручную через интерфейс ClickPipes, а также программно с помощью [OpenAPI](/ru/integrations/clickpipes/programmatic-access/openapi) и [Terraform](/ru/integrations/clickpipes/programmatic-access/terraform).

<div id="prerequisites">
  ## Предварительные требования
</div>

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

1. [MongoDB Atlas](/ru/integrations/clickpipes/mongodb/source/atlas)

2. [Универсальный MongoDB](/ru/integrations/clickpipes/mongodb/source/generic)

3. [Amazon DocumentDB](/ru/integrations/clickpipes/mongodb/source/documentdb)

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

<div id="create-your-clickpipe">
  ## Создайте ClickPipe
</div>

Убедитесь, что вы вошли в свою учётную запись ClickHouse Cloud. Если у вас ещё нет учётной записи, вы можете зарегистрироваться [здесь](https://cloud.clickhouse.com/).

1. В консоли ClickHouse Cloud перейдите к своему сервису ClickHouse Cloud.

<Image img="https://mintcdn.com/private-7c7dfe99-vortex-format/Kj4wT80mHNH7Aczn/images/integrations/data-ingestion/clickpipes/cp_service.webp?fit=max&auto=format&n=Kj4wT80mHNH7Aczn&q=85&s=28f21bdc220ebac1a2802365b87fb78c" alt="Сервис ClickPipes" size="lg" border width="1184" height="482" data-path="images/integrations/data-ingestion/clickpipes/cp_service.webp" />

2. Нажмите кнопку `Data Sources` в меню слева, затем — "Set up a ClickPipe".

<Image img="https://mintcdn.com/private-7c7dfe99-vortex-format/Kj4wT80mHNH7Aczn/images/integrations/data-ingestion/clickpipes/cp_step0.webp?fit=max&auto=format&n=Kj4wT80mHNH7Aczn&q=85&s=275437c400afd56e6808a20a266c9d7a" alt="Выбор импорта" size="lg" border width="2606" height="790" data-path="images/integrations/data-ingestion/clickpipes/cp_step0.webp" />

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

<Image img="https://mintcdn.com/private-7c7dfe99-vortex-format/Kj4wT80mHNH7Aczn/images/integrations/data-ingestion/clickpipes/mongodb/mongodb-tile.webp?fit=max&auto=format&n=Kj4wT80mHNH7Aczn&q=85&s=ba8997b18f9a18534659ec8362661eec" alt="Выбор MongoDB" size="lg" border width="1802" height="986" data-path="images/integrations/data-ingestion/clickpipes/mongodb/mongodb-tile.webp" />

<div id="add-your-source-mongodb-database-connection">
  ### Добавьте подключение к исходной базе данных MongoDB
</div>

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

<Info>
  Прежде чем вводить сведения о подключении, убедитесь, что IP-адреса ClickPipes добавлены в белый список в правилах межсетевого экрана. На следующей странице вы найдете [список IP-адресов ClickPipes](/ru/integrations/clickpipes/home#list-of-static-ips).
  Дополнительные сведения см. в руководствах по настройке исходной MongoDB, ссылки на которые приведены [в верхней части этой страницы](#prerequisites).
</Info>

<Image img="https://mintcdn.com/private-7c7dfe99-vortex-format/Kj4wT80mHNH7Aczn/images/integrations/data-ingestion/clickpipes/mongodb/mongodb-connection-details.webp?fit=max&auto=format&n=Kj4wT80mHNH7Aczn&q=85&s=9c4bb621ef0436455415ea5d0f2a33a9" alt="Заполните сведения о подключении" size="lg" border width="1538" height="1698" data-path="images/integrations/data-ingestion/clickpipes/mongodb/mongodb-connection-details.webp" />

<div id="optional-changing-tls-settings">
  #### (Необязательно) Изменение настроек TLS
</div>

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

<Frame>
  <img src="https://mintcdn.com/private-7c7dfe99-vortex-format/mRaTj__cZTg8Xed9/images/integrations/data-ingestion/clickpipes/postgres/tls-settings.webp?fit=max&auto=format&n=mRaTj__cZTg8Xed9&q=85&s=09e4c6fcf1d5eb91edd27fab3f37ba87" alt="Настройки TLS" width="1113" height="688" data-path="images/integrations/data-ingestion/clickpipes/postgres/tls-settings.webp" />
</Frame>

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

<Frame>
  <img src="https://mintcdn.com/private-7c7dfe99-vortex-format/mRaTj__cZTg8Xed9/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?fit=max&auto=format&n=mRaTj__cZTg8Xed9&q=85&s=a5fb793fa33061a8a5b5cc29afc177e2" alt="Connection settings -> Edit Connection" data-og-width="1035" width="1035" data-og-height="312" height="312" data-path="images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/private-7c7dfe99-vortex-format/mRaTj__cZTg8Xed9/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?w=280&fit=max&auto=format&n=mRaTj__cZTg8Xed9&q=85&s=f02d7d8ed28e30f4f74283f26462940c 280w, https://mintcdn.com/private-7c7dfe99-vortex-format/mRaTj__cZTg8Xed9/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?w=560&fit=max&auto=format&n=mRaTj__cZTg8Xed9&q=85&s=e0f2378d6a9156fe9bba5bfe4c725d75 560w, https://mintcdn.com/private-7c7dfe99-vortex-format/mRaTj__cZTg8Xed9/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?w=840&fit=max&auto=format&n=mRaTj__cZTg8Xed9&q=85&s=9ee6080b1119329406295925082e87dc 840w, https://mintcdn.com/private-7c7dfe99-vortex-format/mRaTj__cZTg8Xed9/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?w=1100&fit=max&auto=format&n=mRaTj__cZTg8Xed9&q=85&s=d10290c7c1f6cd643effd802ca5be674 1100w, https://mintcdn.com/private-7c7dfe99-vortex-format/mRaTj__cZTg8Xed9/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?w=1650&fit=max&auto=format&n=mRaTj__cZTg8Xed9&q=85&s=11fde8f4e6d917311d538e8bd78ed5bc 1650w, https://mintcdn.com/private-7c7dfe99-vortex-format/mRaTj__cZTg8Xed9/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?w=2500&fit=max&auto=format&n=mRaTj__cZTg8Xed9&q=85&s=16a53007292d2e8563474e630804f600 2500w" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/private-7c7dfe99-vortex-format/mRaTj__cZTg8Xed9/images/integrations/data-ingestion/clickpipes/postgres/pipe-edit-connection.webp?fit=max&auto=format&n=mRaTj__cZTg8Xed9&q=85&s=01b9f1a5c007555a6f096ffe7357d11b" alt="Edit Connection" width="703" height="542" data-path="images/integrations/data-ingestion/clickpipes/postgres/pipe-edit-connection.webp" />
</Frame>

Где:

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

<div id="optional-set-up-ssh-tunneling">
  #### (Необязательно) Настройка SSH-туннелирования
</div>

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

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

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

   <Image img="https://mintcdn.com/private-7c7dfe99-vortex-format/mRaTj__cZTg8Xed9/images/integrations/data-ingestion/clickpipes/postgres/ssh-tunnel.jpg?fit=max&auto=format&n=mRaTj__cZTg8Xed9&q=85&s=32246dd5b821da001d89a9825ae2e5b4" alt="SSH-туннелирование" size="lg" border width="1780" height="1342" data-path="images/integrations/data-ingestion/clickpipes/postgres/ssh-tunnel.jpg" />

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

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

<Note>
  Убедитесь, что [ClickPipes IP addresses](/ru/integrations/clickpipes/home#list-of-static-ips) добавлены в правила межсетевого экрана для SSH-бастиона, чтобы ClickPipes мог установить SSH-туннель.
</Note>

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

<div id="advanced-settings">
  #### Настройте дополнительные параметры
</div>

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

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

<div id="configure-the-tables">
  ### Настройте таблицы
</div>

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

   <Image img="https://mintcdn.com/private-7c7dfe99-vortex-format/Kj4wT80mHNH7Aczn/images/integrations/data-ingestion/clickpipes/mongodb/select-destination-db.webp?fit=max&auto=format&n=Kj4wT80mHNH7Aczn&q=85&s=187682d383c0ee78bdc21d334b6f8654" alt="Выберите целевую базу данных" size="lg" border width="1742" height="548" data-path="images/integrations/data-ingestion/clickpipes/mongodb/select-destination-db.webp" />

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

<div id="review-permissions-and-start-the-clickpipe">
  ### Проверьте разрешения и запустите ClickPipe
</div>

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

   <Image img="https://mintcdn.com/private-7c7dfe99-vortex-format/mRaTj__cZTg8Xed9/images/integrations/data-ingestion/clickpipes/postgres/ch-permissions.jpg?fit=max&auto=format&n=mRaTj__cZTg8Xed9&q=85&s=a2662830bd8009b779cf6fe6fc55d183" alt="Проверьте разрешения" size="lg" border width="1844" height="716" data-path="images/integrations/data-ingestion/clickpipes/postgres/ch-permissions.jpg" />

<div id="whats-next">
  ## Что дальше?
</div>

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

<div id="caveats">
  ## Важные замечания
</div>

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

* Требуется MongoDB версии 5.1.0 и выше.
* Для CDC мы используем нативный API Change Streams в MongoDB, который опирается на MongoDB oplog для фиксации изменений в реальном времени.
* По умолчанию документы из MongoDB реплицируются в ClickHouse в типе JSON. Это обеспечивает гибкое управление схемой и позволяет использовать в ClickHouse богатый набор JSON-операторов для запросов и аналитики. Подробнее о запросах к данным JSON можно узнать [здесь](/ru/reference/data-types/newjson).
* Самостоятельная настройка PrivateLink в настоящее время недоступна. Если вы используете AWS и вам нужен PrivateLink, свяжитесь с нами по адресу [db-integrations-support@clickhouse.com](mailto:db-integrations-support@clickhouse.com) или создайте обращение в службу поддержки — мы поможем вам его включить.
