> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-locadex-parallel-t9n-main-irpovz79o3kkpgs4.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}) => {
  return <Frame>
      <img src={img} alt={alt} />
    </Frame>;
};

export const Image = ({img, alt, size}) => {
  return <Frame>
      <img src={img} alt={alt} />
    </Frame>;
};

export const galaxyOnClick = eventName => () => {
  try {
    if (typeof window !== "undefined" && window.galaxy && eventName) {
      window.galaxy.track(eventName, {
        interaction: "click"
      });
    }
  } catch (e) {}
};

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}>
                <Icon />
                <span>Бета</span>
            </a>;
  }
  return <div className="betaBadge">
            <Icon />
            <span>
                Возможность в статусе бета. 
                <u>
                    <a href="/docs/beta-and-experimental-features#beta-features">
                        Подробнее.
                    </a>
                </u>
            </span>
        </div>;
};

<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-locadex-parallel-t9n-main-irpovz79o3kkpgs4/fK1jYjcNTN2H-dNx/images/integrations/data-ingestion/clickpipes/cp_service.png?fit=max&auto=format&n=fK1jYjcNTN2H-dNx&q=85&s=401c1d67ca13701690aab2a17b6afc0c" alt="Сервис ClickPipes" size="lg" border width="1184" height="482" data-path="images/integrations/data-ingestion/clickpipes/cp_service.png" />

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

<Image img="https://mintcdn.com/private-7c7dfe99-locadex-parallel-t9n-main-irpovz79o3kkpgs4/fK1jYjcNTN2H-dNx/images/integrations/data-ingestion/clickpipes/cp_step0.png?fit=max&auto=format&n=fK1jYjcNTN2H-dNx&q=85&s=37509f78dcfec417bdb6736a7b6de4d8" alt="Выбор импорта" size="lg" border width="2606" height="790" data-path="images/integrations/data-ingestion/clickpipes/cp_step0.png" />

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

<Image img="https://mintcdn.com/private-7c7dfe99-locadex-parallel-t9n-main-irpovz79o3kkpgs4/fK1jYjcNTN2H-dNx/images/integrations/data-ingestion/clickpipes/mongodb/mongodb-tile.png?fit=max&auto=format&n=fK1jYjcNTN2H-dNx&q=85&s=3c40b1f5aaac56fd0af42dc5976338de" alt="Выбор MongoDB" size="lg" border width="1802" height="986" data-path="images/integrations/data-ingestion/clickpipes/mongodb/mongodb-tile.png" />

<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-locadex-parallel-t9n-main-irpovz79o3kkpgs4/fK1jYjcNTN2H-dNx/images/integrations/data-ingestion/clickpipes/mongodb/mongodb-connection-details.png?fit=max&auto=format&n=fK1jYjcNTN2H-dNx&q=85&s=cf981ff5ab041f012b3dcc8334ecaf2e" alt="Заполните сведения о подключении" size="lg" border width="1538" height="1698" data-path="images/integrations/data-ingestion/clickpipes/mongodb/mongodb-connection-details.png" />

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

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

<Image img="https://mintcdn.com/private-7c7dfe99-locadex-parallel-t9n-main-irpovz79o3kkpgs4/WxlX3Dy68QP6FHJI/images/integrations/data-ingestion/clickpipes/postgres/tls-settings.png?fit=max&auto=format&n=WxlX3Dy68QP6FHJI&q=85&s=e634347f6704fb140db48ce9b7cf0fda" alt="Настройки TLS" size="lg" border width="1113" height="688" data-path="images/integrations/data-ingestion/clickpipes/postgres/tls-settings.png" />

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

<Image img="https://mintcdn.com/private-7c7dfe99-locadex-parallel-t9n-main-irpovz79o3kkpgs4/WxlX3Dy68QP6FHJI/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.png?fit=max&auto=format&n=WxlX3Dy68QP6FHJI&q=85&s=ebee957bdb2567d30810e178a2844ba5" alt="Connection settings -> Edit Connection" size="lg" border data-og-width="1035" width="1035" data-og-height="312" height="312" data-path="images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.png" data-optimize="true" data-opv="3" srcset="https://mintcdn.com/private-7c7dfe99-locadex-parallel-t9n-main-irpovz79o3kkpgs4/WxlX3Dy68QP6FHJI/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.png?w=280&fit=max&auto=format&n=WxlX3Dy68QP6FHJI&q=85&s=8f9819c087fc6fa1ceffd02443ae185c 280w, https://mintcdn.com/private-7c7dfe99-locadex-parallel-t9n-main-irpovz79o3kkpgs4/WxlX3Dy68QP6FHJI/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.png?w=560&fit=max&auto=format&n=WxlX3Dy68QP6FHJI&q=85&s=0b4fddb9d62da0a68a53329f5816bbdb 560w, https://mintcdn.com/private-7c7dfe99-locadex-parallel-t9n-main-irpovz79o3kkpgs4/WxlX3Dy68QP6FHJI/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.png?w=840&fit=max&auto=format&n=WxlX3Dy68QP6FHJI&q=85&s=9d9f5b1c0e97d18644c53ffcc6fc403b 840w, https://mintcdn.com/private-7c7dfe99-locadex-parallel-t9n-main-irpovz79o3kkpgs4/WxlX3Dy68QP6FHJI/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.png?w=1100&fit=max&auto=format&n=WxlX3Dy68QP6FHJI&q=85&s=3db62543df39508b0f0afb9e110081b9 1100w, https://mintcdn.com/private-7c7dfe99-locadex-parallel-t9n-main-irpovz79o3kkpgs4/WxlX3Dy68QP6FHJI/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.png?w=1650&fit=max&auto=format&n=WxlX3Dy68QP6FHJI&q=85&s=cad481648d458765bb5f88f6eb4bf067 1650w, https://mintcdn.com/private-7c7dfe99-locadex-parallel-t9n-main-irpovz79o3kkpgs4/WxlX3Dy68QP6FHJI/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.png?w=2500&fit=max&auto=format&n=WxlX3Dy68QP6FHJI&q=85&s=44d46f613e714f14cc3da703a061995c 2500w" />

<Image img="https://mintcdn.com/private-7c7dfe99-locadex-parallel-t9n-main-irpovz79o3kkpgs4/WxlX3Dy68QP6FHJI/images/integrations/data-ingestion/clickpipes/postgres/pipe-edit-connection.png?fit=max&auto=format&n=WxlX3Dy68QP6FHJI&q=85&s=df0354931efba14b426bdeca6894a0a3" alt="Edit Connection" size="lg" border width="703" height="542" data-path="images/integrations/data-ingestion/clickpipes/postgres/pipe-edit-connection.png" />

Где:

* `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-locadex-parallel-t9n-main-irpovz79o3kkpgs4/zzpXECOHiFl4GM4M/images/integrations/data-ingestion/clickpipes/postgres/ssh-tunnel.jpg?fit=max&auto=format&n=zzpXECOHiFl4GM4M&q=85&s=bbb549871a02d3fd87d88c86b127542c" 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-locadex-parallel-t9n-main-irpovz79o3kkpgs4/fK1jYjcNTN2H-dNx/images/integrations/data-ingestion/clickpipes/mongodb/select-destination-db.png?fit=max&auto=format&n=fK1jYjcNTN2H-dNx&q=85&s=630c8752182b9d23354e3241ae08ecba" alt="Выберите целевую базу данных" size="lg" border width="1742" height="548" data-path="images/integrations/data-ingestion/clickpipes/mongodb/select-destination-db.png" />

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

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

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

   <Image img="https://mintcdn.com/private-7c7dfe99-locadex-parallel-t9n-main-irpovz79o3kkpgs4/zzpXECOHiFl4GM4M/images/integrations/data-ingestion/clickpipes/postgres/ch-permissions.jpg?fit=max&auto=format&n=zzpXECOHiFl4GM4M&q=85&s=7ede340798cbaa9d538f434a0ec4f681" 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) или создайте обращение в службу поддержки — мы поможем вам его включить.
