> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-fix-nav-issues.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 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>Beta</span>
            </a>;
  }
  return <div className="betaBadge">
            <Icon />
            <span>
                Beta feature. 
                <u>
                    <a href="/docs/beta-and-experimental-features#beta-features">
                        Learn more.
                    </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-fix-nav-issues/lGskH5qUgz9Vtlav/images/integrations/data-ingestion/clickpipes/cp_service.png?fit=max&auto=format&n=lGskH5qUgz9Vtlav&q=85&s=1fa8d992c5f2b6c481249d120e8715a2" 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-fix-nav-issues/lGskH5qUgz9Vtlav/images/integrations/data-ingestion/clickpipes/cp_step0.png?fit=max&auto=format&n=lGskH5qUgz9Vtlav&q=85&s=8604d9b9df8655f1edcdc73536e5def1" 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-fix-nav-issues/lGskH5qUgz9Vtlav/images/integrations/data-ingestion/clickpipes/mongodb/mongodb-tile.png?fit=max&auto=format&n=lGskH5qUgz9Vtlav&q=85&s=791256c050414aa87bcb37e612d76fac" 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-fix-nav-issues/lGskH5qUgz9Vtlav/images/integrations/data-ingestion/clickpipes/mongodb/mongodb-connection-details.png?fit=max&auto=format&n=lGskH5qUgz9Vtlav&q=85&s=81843025f418b02044d9aa9c463a2762" alt="Заполните сведения о подключении" size="lg" border width="1538" height="1698" data-path="images/integrations/data-ingestion/clickpipes/mongodb/mongodb-connection-details.png" />

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

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

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

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

   <Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/8xU-7NRzcVe16bmG/images/integrations/data-ingestion/clickpipes/postgres/ssh-tunnel.jpg?fit=max&auto=format&n=8xU-7NRzcVe16bmG&q=85&s=c257ddbc479fb91047b029a3ddef29aa" 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-fix-nav-issues/lGskH5qUgz9Vtlav/images/integrations/data-ingestion/clickpipes/mongodb/select-destination-db.png?fit=max&auto=format&n=lGskH5qUgz9Vtlav&q=85&s=77eb118f26d71d33201761aecf3e4ab7" 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-fix-nav-issues/8xU-7NRzcVe16bmG/images/integrations/data-ingestion/clickpipes/postgres/ch-permissions.jpg?fit=max&auto=format&n=8xU-7NRzcVe16bmG&q=85&s=220285c9d16d656b26c97fd0587b9086" 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) или создайте обращение в службу поддержки — мы поможем вам его включить.
