> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> Describe cómo conectar sin problemas MongoDB con ClickHouse Cloud.

# Ingesta de datos de MongoDB a ClickHouse (mediante 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}>
                <Icon />
                <span>Beta</span>
            </a>;
  }
  return <div className="betaBadge">
            <Icon />
            <span>
                Funcionalidad beta. 
                <u>
                    <a href="/docs/docs/beta-and-experimental-features#beta-features">
                        Más información.
                    </a>
                </u>
            </span>
        </div>;
};

<BetaBadge />

<Info>
  La ingesta de datos desde MongoDB a ClickHouse Cloud mediante ClickPipes está en beta pública.
</Info>

<Note>
  En la consola y la documentación de ClickHouse Cloud, "tabla" y "colección" se usan indistintamente para MongoDB.
</Note>

Puede usar ClickPipes para ingerir datos desde su base de datos de MongoDB a ClickHouse Cloud. La base de datos de MongoDB de origen puede alojarse en instalaciones propias o en la nube mediante servicios como MongoDB Atlas.

Los ClickPipes de MongoDB pueden implementarse y gestionarse manualmente mediante la UI de ClickPipes, así como mediante programación con [OpenAPI](/docs/es/integrations/clickpipes/programmatic-access/openapi) y [Terraform](/docs/es/integrations/clickpipes/programmatic-access/terraform).

<div id="prerequisites">
  ## Requisitos previos
</div>

Antes de empezar, debes asegurarte de que tu base de datos MongoDB esté correctamente configurada para la replicación. Los pasos de configuración dependen de cómo hayas desplegado MongoDB, así que sigue la guía correspondiente a continuación:

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

2. [Generic MongoDB](/docs/es/integrations/clickpipes/mongodb/source/generic)

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

Una vez configurada tu base de datos MongoDB de origen, puedes continuar con la creación de tu ClickPipe.

<div id="create-your-clickpipe">
  ## Crea tu ClickPipe
</div>

Asegúrate de haber iniciado sesión en tu cuenta de ClickHouse Cloud. Si aún no tienes una cuenta, puedes registrarte [aquí](https://cloud.clickhouse.com/).

1. En la consola de ClickHouse Cloud, ve a tu servicio de ClickHouse Cloud.

<Image img="https://mintcdn.com/private-7c7dfe99/Rm4A9_kDxZf0ApeE/images/integrations/data-ingestion/clickpipes/cp_service.webp?fit=max&auto=format&n=Rm4A9_kDxZf0ApeE&q=85&s=ba65ca18b8e032a9d412b779741717f5" alt="Servicio de ClickPipes" size="lg" border width="1184" height="482" data-path="images/integrations/data-ingestion/clickpipes/cp_service.webp" />

2. Selecciona el botón `Data Sources` en el menú lateral izquierdo y haz clic en "Set up a ClickPipe".

<Image img="https://mintcdn.com/private-7c7dfe99/Rm4A9_kDxZf0ApeE/images/integrations/data-ingestion/clickpipes/cp_step0.webp?fit=max&auto=format&n=Rm4A9_kDxZf0ApeE&q=85&s=fb04bb07245be43cb784fa68cee62287" alt="Seleccionar importaciones" size="lg" border width="2606" height="790" data-path="images/integrations/data-ingestion/clickpipes/cp_step0.webp" />

3. Selecciona la tarjeta `MongoDB CDC`.

<Image img="https://mintcdn.com/private-7c7dfe99/Rm4A9_kDxZf0ApeE/images/integrations/data-ingestion/clickpipes/mongodb/mongodb-tile.webp?fit=max&auto=format&n=Rm4A9_kDxZf0ApeE&q=85&s=37d4e87618edf9e1aee3324f9a6a5305" alt="Seleccionar 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">
  ### Agrega la conexión a tu base de datos MongoDB de origen
</div>

4. Completa los datos de conexión de tu base de datos MongoDB de origen que configuraste en el paso de requisitos previos.

<Info>
  Antes de empezar a agregar los datos de conexión, asegúrate de haber permitido las direcciones IP de ClickPipes en las reglas de tu firewall. En la siguiente página puedes encontrar una [lista de direcciones IP de ClickPipes](/docs/es/integrations/clickpipes/home#list-of-static-ips).
  Para obtener más información, consulta las guías de configuración de MongoDB de origen enlazadas [al inicio de esta página](#prerequisites).
</Info>

<Image img="https://mintcdn.com/private-7c7dfe99/Rm4A9_kDxZf0ApeE/images/integrations/data-ingestion/clickpipes/mongodb/mongodb-connection-details.webp?fit=max&auto=format&n=Rm4A9_kDxZf0ApeE&q=85&s=2e9ea9be8d070e2a410f84692d9b2230" alt="Completa los datos de conexión" 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">
  #### (Opcional) Cambiar la configuración de TLS
</div>

De forma predeterminada, su ClickPipe se creará con TLS habilitado y con verificación del certificado. Estos valores predeterminados se pueden modificar al crear el ClickPipe:

<Frame>
  <img src="https://mintcdn.com/private-7c7dfe99/dZZG_-B0EzCG8L4V/images/integrations/data-ingestion/clickpipes/postgres/tls-settings.webp?fit=max&auto=format&n=dZZG_-B0EzCG8L4V&q=85&s=354571f9124f3d67be0009e0c0986509" alt="Configuración de TLS" width="1113" height="688" data-path="images/integrations/data-ingestion/clickpipes/postgres/tls-settings.webp" />
</Frame>

O bien, editarse en la sección *Configuración de la conexión* de la pestaña *Configuración* de su ClickPipe pausado:

<Frame>
  <img src="https://mintcdn.com/private-7c7dfe99/dZZG_-B0EzCG8L4V/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?fit=max&auto=format&n=dZZG_-B0EzCG8L4V&q=85&s=28a2df0694e28170b34f8ba7f8e81b82" alt="Configuración de la conexión -> Editar conexión" 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/dZZG_-B0EzCG8L4V/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?w=280&fit=max&auto=format&n=dZZG_-B0EzCG8L4V&q=85&s=dba8d05cac1ee3d8cac0765e6508fc65 280w, https://mintcdn.com/private-7c7dfe99/dZZG_-B0EzCG8L4V/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?w=560&fit=max&auto=format&n=dZZG_-B0EzCG8L4V&q=85&s=da9b3248a380def99a3eac70fa2766fc 560w, https://mintcdn.com/private-7c7dfe99/dZZG_-B0EzCG8L4V/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?w=840&fit=max&auto=format&n=dZZG_-B0EzCG8L4V&q=85&s=4d478a7aeda56d495f47322d0c448a39 840w, https://mintcdn.com/private-7c7dfe99/dZZG_-B0EzCG8L4V/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?w=1100&fit=max&auto=format&n=dZZG_-B0EzCG8L4V&q=85&s=dcc4a87641fea36cecbbcbd1d7ed6e98 1100w, https://mintcdn.com/private-7c7dfe99/dZZG_-B0EzCG8L4V/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?w=1650&fit=max&auto=format&n=dZZG_-B0EzCG8L4V&q=85&s=fadfc249d44a5778963a53657c22a684 1650w, https://mintcdn.com/private-7c7dfe99/dZZG_-B0EzCG8L4V/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?w=2500&fit=max&auto=format&n=dZZG_-B0EzCG8L4V&q=85&s=ab8e5667017527822f07fa96cddcc22d 2500w" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/private-7c7dfe99/dZZG_-B0EzCG8L4V/images/integrations/data-ingestion/clickpipes/postgres/pipe-edit-connection.webp?fit=max&auto=format&n=dZZG_-B0EzCG8L4V&q=85&s=93ebf1b8ea0d0c24027a87abaae8c15b" alt="Editar conexión" width="703" height="542" data-path="images/integrations/data-ingestion/clickpipes/postgres/pipe-edit-connection.webp" />
</Frame>

Donde:

* `Disable TLS` activa o desactiva TLS para la conexión. Desactivar TLS significa que los datos se envían como texto sin cifrar por la red, lo que puede incluir secretos y datos confidenciales.
* `Skip certificate verification` activa o desactiva la verificación del certificado presentado por la base de datos de origen. Tenga en cuenta las implicaciones de seguridad de omitir la verificación del certificado.
* `TLS Host` (opcional; de forma predeterminada, el *Host* de origen) es el hostname con el que debe coincidir el CN del certificado cuando la verificación del certificado está habilitada.
* `Upload CA` puede usarse para proporcionar una CA cuando la verificación del certificado está habilitada.

<div id="optional-set-up-ssh-tunneling">
  #### (Opcional) Configurar la tunelización SSH
</div>

Puede especificar los detalles de la tunelización SSH si su base de datos MongoDB de origen no es accesible públicamente.

1. Active el interruptor "Usar tunelización SSH".

2. Complete los detalles de la conexión SSH.

   <Image img="https://mintcdn.com/private-7c7dfe99/MoeBDs4tywkUTQ28/images/integrations/data-ingestion/clickpipes/postgres/ssh-tunnel.jpg?fit=max&auto=format&n=MoeBDs4tywkUTQ28&q=85&s=2cfd8e7bd51f0bb5b5c14efa95418b82" alt="Tunelización SSH" size="lg" border width="1780" height="1342" data-path="images/integrations/data-ingestion/clickpipes/postgres/ssh-tunnel.jpg" />

3. Para usar autenticación basada en claves, haga clic en "Revocar y generar par de claves" para generar un nuevo par de claves y copie la clave pública generada en su servidor SSH, en `~/.ssh/authorized_keys`.

4. Haga clic en "Verificar conexión" para verificar la conexión.

<Note>
  Asegúrese de permitir las [dirección IP de ClickPipes](/docs/es/integrations/clickpipes/home#list-of-static-ips) en las reglas de su firewall para el host bastión SSH, de modo que ClickPipes pueda establecer el túnel SSH.
</Note>

Una vez completados los detalles de la conexión, haga clic en `Siguiente`.

<div id="advanced-settings">
  #### Configurar ajustes avanzados
</div>

Puede configurar los ajustes avanzados si es necesario. A continuación, se ofrece una breve descripción de cada ajuste:

* **Intervalo de sincronización**: Es el intervalo con el que ClickPipes consultará la base de datos de origen para detectar cambios. Esto influye en el servicio de ClickHouse de destino; para los usuarios con restricciones de costos, recomendamos mantenerlo en un valor más alto (por encima de `3600`).
* **Tamaño del lote de extracción**: El número de filas que se recuperarán en un solo lote. Este ajuste es orientativo y puede que no se respete en todos los casos.
* **Número de tablas de la instantánea en paralelo**: Es el número de tablas que se recuperarán en paralelo durante la instantánea inicial. Resulta útil cuando tiene un gran número de tablas y desea controlar cuántas se recuperan en paralelo.

<div id="configure-the-tables">
  ### Configura las tablas
</div>

5. Aquí puedes seleccionar la base de datos de destino para tu ClickPipe. Puedes seleccionar una base de datos existente o crear una nueva.

   <Image img="https://mintcdn.com/private-7c7dfe99/Rm4A9_kDxZf0ApeE/images/integrations/data-ingestion/clickpipes/mongodb/select-destination-db.webp?fit=max&auto=format&n=Rm4A9_kDxZf0ApeE&q=85&s=d65876f82d33dfa7ad4282f0974ed14d" alt="Selecciona la base de datos de destino" size="lg" border width="1742" height="548" data-path="images/integrations/data-ingestion/clickpipes/mongodb/select-destination-db.webp" />

6. Puedes seleccionar las tablas que quieres replicar desde la base de datos MongoDB de origen. Al seleccionar las tablas, también puedes optar por cambiarles el nombre en la base de datos de destino de ClickHouse.

<div id="review-permissions-and-start-the-clickpipe">
  ### Revisa los permisos e inicia el ClickPipe
</div>

7. Selecciona el rol "Acceso completo" en el menú desplegable de permisos y haz clic en "Completar configuración".

   <Image img="https://mintcdn.com/private-7c7dfe99/MoeBDs4tywkUTQ28/images/integrations/data-ingestion/clickpipes/postgres/ch-permissions.jpg?fit=max&auto=format&n=MoeBDs4tywkUTQ28&q=85&s=f14674431c4db83bae53ffe332bfe7e1" alt="Revisar permisos" size="lg" border width="1844" height="716" data-path="images/integrations/data-ingestion/clickpipes/postgres/ch-permissions.jpg" />

<div id="whats-next">
  ## ¿Qué sigue?
</div>

Una vez que hayas configurado tu ClickPipe para replicar datos de MongoDB en ClickHouse Cloud, puedes centrarte en cómo consultar y modelar tus datos para obtener un rendimiento óptimo.

<div id="caveats">
  ## Consideraciones
</div>

Estas son algunas consideraciones que debes tener en cuenta al usar este conector:

* Requerimos MongoDB versión 5.1.0 o superior.
* Usamos la API nativa de Change Streams de MongoDB para CDC, que se basa en el oplog de MongoDB para capturar cambios en tiempo real.
* Los documentos de MongoDB se replican en ClickHouse como JSON type de forma predeterminada. Esto permite una gestión flexible del schema y hace posible usar el amplio conjunto de operadores JSON de ClickHouse para realizar consultas y análisis. Puedes obtener más información sobre cómo consultar datos JSON [aquí](/docs/es/reference/data-types/newjson).
* La configuración de PrivateLink de autoservicio no está disponible actualmente. Si usas AWS y necesitas PrivateLink, ponte en contacto con [db-integrations-support@clickhouse.com](mailto:db-integrations-support@clickhouse.com) o crea un ticket de soporte; trabajaremos contigo para habilitarlo.
