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

> Descreve como conectar seu MongoDB ao ClickHouse Cloud sem complicações.

# Ingestão de dados do MongoDB para o ClickHouse (usando CDC)

export const Image = ({img, alt, size = "lg", background}) => {
  const normalizedSize = ["sm", "md", "lg"].includes(size) ? size : "lg";
  const backgroundColor = background === "white" ? "white" : background === "black" ? "rgb(31 31 28)" : undefined;
  return <div className={`ch-image-${normalizedSize}`}>
      <Frame>
        <img src={img} alt={alt} style={{
    backgroundColor
  }} />
      </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>Beta</span>
            </a>;
  }
  return <a href="https://clickhouse.com/docs/reference/settings/beta-and-experimental-features#beta-features" className="betaBadge">
            <span>Recurso beta</span>
        </a>;
};

<BetaBadge />

<Info>
  A ingestão de dados do MongoDB para o ClickHouse Cloud via ClickPipes está em beta público.
</Info>

<Note>
  No console e na documentação do ClickHouse Cloud, "tabela" e "coleção" são usados indistintamente para o MongoDB.
</Note>

Você pode usar o ClickPipes para ingerir dados do seu banco de dados MongoDB no ClickHouse Cloud. O banco de dados MongoDB de origem pode ser hospedado no seu próprio ambiente ou na nuvem, usando serviços como o MongoDB Atlas.

Os ClickPipes para MongoDB podem ser implantados e gerenciados manualmente usando a UI do ClickPipes, bem como de forma programática usando [OpenAPI](/pt-BR/integrations/clickpipes/programmatic-access/openapi) e [Terraform](/pt-BR/integrations/clickpipes/programmatic-access/terraform).

<div id="prerequisites">
  ## Pré-requisitos
</div>

Para começar, primeiro você precisa garantir que seu banco de dados MongoDB esteja configurado corretamente para replicação. As etapas de configuração dependem de como o MongoDB está sendo implantado, portanto siga o guia correspondente abaixo:

1. [MongoDB Atlas](/pt-BR/integrations/clickpipes/mongodb/source/atlas)

2. [MongoDB genérico](/pt-BR/integrations/clickpipes/mongodb/source/generic)

3. [Amazon DocumentDB](/pt-BR/integrations/clickpipes/mongodb/source/documentdb)

Depois que o banco de dados MongoDB de origem estiver configurado, você poderá prosseguir com a criação do ClickPipe.

<div id="create-your-clickpipe">
  ## Crie seu ClickPipe
</div>

Certifique-se de que você está conectado à sua conta do ClickHouse Cloud. Se ainda não tiver uma conta, cadastre-se [aqui](https://cloud.clickhouse.com/).

1. No console do ClickHouse Cloud, navegue até seu serviço do ClickHouse Cloud.

<Image img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/Qdrmbc1T54ihl0_n/images/integrations/data-ingestion/clickpipes/cp_service.webp?fit=max&auto=format&n=Qdrmbc1T54ihl0_n&q=85&s=baa2a1fbd12dce262df262176b152c5f" alt="Serviço do ClickPipes" size="lg" border width="1184" height="482" data-path="images/integrations/data-ingestion/clickpipes/cp_service.webp" />

2. Selecione o botão `Data Sources` no menu à esquerda e clique em "Set up a ClickPipe".

<Image img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/Qdrmbc1T54ihl0_n/images/integrations/data-ingestion/clickpipes/cp_step0.webp?fit=max&auto=format&n=Qdrmbc1T54ihl0_n&q=85&s=5c127cc5de6fe7160371dce223f06b60" alt="Selecionar importações" size="lg" border width="2606" height="790" data-path="images/integrations/data-ingestion/clickpipes/cp_step0.webp" />

3. Selecione o bloco `MongoDB CDC`.

<Image img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/Qdrmbc1T54ihl0_n/images/integrations/data-ingestion/clickpipes/mongodb/mongodb-tile.webp?fit=max&auto=format&n=Qdrmbc1T54ihl0_n&q=85&s=7cc51a48c41566a3d72bf0d6343c28e1" alt="Selecionar 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">
  ### Adicione a conexão com o banco de dados MongoDB de origem
</div>

4. Preencha os detalhes da conexão com o banco de dados MongoDB de origem que você configurou na etapa de pré-requisitos.

<Info>
  Antes de começar a inserir os detalhes da conexão, certifique-se de que você adicionou os endereços IP do ClickPipes à lista de permissões nas regras do seu firewall. Na página a seguir, você encontra uma [lista de endereços IP do ClickPipes](/pt-BR/integrations/clickpipes/networking/static-ips).
  Para mais informações, consulte os guias de configuração do MongoDB de origem indicados [no topo desta página](#prerequisites).
</Info>

<Image img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/Qdrmbc1T54ihl0_n/images/integrations/data-ingestion/clickpipes/mongodb/mongodb-connection-details.webp?fit=max&auto=format&n=Qdrmbc1T54ihl0_n&q=85&s=a48eb97ccf97e7ef1fd5fd8e25c79fc5" alt="Preencha os detalhes da conexão" 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) Alterar as configurações de TLS
</div>

Por padrão, seu ClickPipe será criado com TLS habilitado e verificação de certificados. Essas configurações padrão podem ser alteradas durante a criação do ClickPipe:

<Frame>
  <img src="https://mintcdn.com/private-7c7dfe99-detect-table-modification/nH26ELfEvmC8yX3w/images/integrations/data-ingestion/clickpipes/postgres/tls-settings.webp?fit=max&auto=format&n=nH26ELfEvmC8yX3w&q=85&s=62664fb24f0caec9623c53c6e53a7d3e" alt="Configurações de TLS" width="1113" height="688" data-path="images/integrations/data-ingestion/clickpipes/postgres/tls-settings.webp" />
</Frame>

Ou editadas na seção *Connection settings* da aba *Settings* do seu ClickPipe pausado:

<Frame>
  <img src="https://mintcdn.com/private-7c7dfe99-detect-table-modification/nH26ELfEvmC8yX3w/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?fit=max&auto=format&n=nH26ELfEvmC8yX3w&q=85&s=de54c0f0f33e54028d456565ddd9f38e" alt="Configurações de conexão -> Editar conexão" 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-detect-table-modification/nH26ELfEvmC8yX3w/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?w=280&fit=max&auto=format&n=nH26ELfEvmC8yX3w&q=85&s=bf50f2f2d27d28ed6376a037832def53 280w, https://mintcdn.com/private-7c7dfe99-detect-table-modification/nH26ELfEvmC8yX3w/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?w=560&fit=max&auto=format&n=nH26ELfEvmC8yX3w&q=85&s=c9a97b7ababd7ca2dd5b149ce05b3f54 560w, https://mintcdn.com/private-7c7dfe99-detect-table-modification/nH26ELfEvmC8yX3w/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?w=840&fit=max&auto=format&n=nH26ELfEvmC8yX3w&q=85&s=556cb668edbbea4ae6426d7b7ced2cb4 840w, https://mintcdn.com/private-7c7dfe99-detect-table-modification/nH26ELfEvmC8yX3w/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?w=1100&fit=max&auto=format&n=nH26ELfEvmC8yX3w&q=85&s=1aecdf09094107d3e1c05f301893980f 1100w, https://mintcdn.com/private-7c7dfe99-detect-table-modification/nH26ELfEvmC8yX3w/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?w=1650&fit=max&auto=format&n=nH26ELfEvmC8yX3w&q=85&s=2e0d46ca653fd55039fd7e52ded03fd5 1650w, https://mintcdn.com/private-7c7dfe99-detect-table-modification/nH26ELfEvmC8yX3w/images/integrations/data-ingestion/clickpipes/postgres/pipe-connection-settings.webp?w=2500&fit=max&auto=format&n=nH26ELfEvmC8yX3w&q=85&s=4464254ea0d06bca3de90c1c025d028d 2500w" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/private-7c7dfe99-detect-table-modification/nH26ELfEvmC8yX3w/images/integrations/data-ingestion/clickpipes/postgres/pipe-edit-connection.webp?fit=max&auto=format&n=nH26ELfEvmC8yX3w&q=85&s=31fde7110ac800ffc3d6dfa28e70b90d" alt="Editar conexão" width="703" height="542" data-path="images/integrations/data-ingestion/clickpipes/postgres/pipe-edit-connection.webp" />
</Frame>

Onde:

* `Disable TLS` ativa ou desativa o TLS para a conexão. Desativar o TLS significa que os dados são enviados em texto simples pela rede, potencialmente incluindo credenciais e dados sensíveis.
* `Skip certificate verification` ativa ou desativa a verificação do certificado apresentado pelo banco de dados de origem. Leve em consideração as implicações de segurança de ignorar a verificação de certificados.
* `TLS Host` (opcional, usa o *Host* de origem por padrão) é o hostname ao qual o CN do certificado deve corresponder quando a verificação de certificados está habilitada.
* `Upload CA` pode ser usado para fornecer uma CA a ser utilizada quando a verificação de certificados estiver habilitada.

<div id="optional-set-up-ssh-tunneling">
  #### (Opcional) Configure o túnel SSH
</div>

Você pode especificar os detalhes do túnel SSH se o seu banco de dados MongoDB de origem não estiver acessível publicamente.

1. Ative a opção "Usar túnel SSH".

2. Preencha os detalhes da conexão SSH.

   <Image img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/nH26ELfEvmC8yX3w/images/integrations/data-ingestion/clickpipes/postgres/ssh-tunnel.jpg?fit=max&auto=format&n=nH26ELfEvmC8yX3w&q=85&s=7d9d503c2c5219501767251d83508405" alt="Túnel SSH" size="lg" border width="1780" height="1342" data-path="images/integrations/data-ingestion/clickpipes/postgres/ssh-tunnel.jpg" />

3. Para usar autenticação baseada em chave, clique em "Revogar e gerar par de chaves" para gerar um novo par de chaves e copie a chave pública gerada para o seu servidor SSH em `~/.ssh/authorized_keys`.

4. Clique em "Verificar conexão" para verificar a conexão.

<Note>
  Certifique-se de adicionar [endereços IP do ClickPipes](/pt-BR/integrations/clickpipes/networking/static-ips) à lista de permissões nas regras do firewall do host bastion SSH, para que o ClickPipes possa estabelecer o túnel SSH.
</Note>

Depois de preencher os detalhes da conexão, clique em `Next`.

<div id="advanced-settings">
  #### Configure as configurações avançadas
</div>

Se necessário, você pode ajustar as configurações avançadas. Uma breve descrição de cada configuração é fornecida abaixo:

* **Intervalo de sincronização**: Este é o intervalo em que o ClickPipes consultará o banco de dados de origem em busca de alterações. Isso afeta o serviço ClickHouse de destino; para usuários com maior sensibilidade a custos, recomendamos manter esse valor mais alto (acima de `3600`).
* **Tamanho do lote de extração**: O número de linhas a serem buscadas em um único lote. Esta é uma configuração de melhor esforço e pode não ser aplicada em todos os casos.
* **Número de tabelas no snapshot em paralelo**: Este é o número de tabelas que serão buscadas em paralelo durante o snapshot inicial. Isso é útil quando você tem um grande número de tabelas e deseja controlar quantas tabelas serão buscadas em paralelo.

<div id="configure-the-tables">
  ### Configure as tabelas
</div>

5. Aqui, você pode selecionar o banco de dados de destino do seu ClickPipe. Você pode escolher um banco de dados existente ou criar um novo.

   <Image img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/Qdrmbc1T54ihl0_n/images/integrations/data-ingestion/clickpipes/mongodb/select-destination-db.webp?fit=max&auto=format&n=Qdrmbc1T54ihl0_n&q=85&s=e64cf1d16520a34f9a9baa186f15629b" alt="Selecionar banco de dados de destino" size="lg" border width="1742" height="548" data-path="images/integrations/data-ingestion/clickpipes/mongodb/select-destination-db.webp" />

6. Você pode selecionar as tabelas que deseja replicar do banco de dados de origem do MongoDB. Ao selecionar as tabelas, também é possível optar por renomeá-las no banco de dados de destino do ClickHouse.

<div id="review-permissions-and-start-the-clickpipe">
  ### Revise as permissões e inicie o ClickPipe
</div>

7. Selecione a função "Acesso total" na lista suspensa de permissões e clique em "Concluir Setup".

   <Image img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/nH26ELfEvmC8yX3w/images/integrations/data-ingestion/clickpipes/postgres/ch-permissions.jpg?fit=max&auto=format&n=nH26ELfEvmC8yX3w&q=85&s=1bda0b1d071213c41a0a265322e0901b" alt="Revisar permissões" size="lg" border width="1844" height="716" data-path="images/integrations/data-ingestion/clickpipes/postgres/ch-permissions.jpg" />

<div id="whats-next">
  ## O que vem depois?
</div>

Depois de configurar seu ClickPipe para replicar dados do MongoDB para o ClickHouse Cloud, você pode se concentrar em como consultar e modelar seus dados para obter o melhor desempenho.

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

Aqui estão algumas ressalvas a considerar ao usar este conector:

* Exigimos o MongoDB na versão 5.1.0 ou superior.
* Usamos a API nativa de Change Streams do MongoDB para CDC, que depende do oplog do MongoDB para capturar alterações em tempo real.
* Os documentos do MongoDB são replicados no ClickHouse como JSON type por padrão. Isso permite um gerenciamento flexível do esquema e possibilita o uso do amplo conjunto de operadores JSON do ClickHouse para consultas e análises. Você pode saber mais sobre como consultar dados JSON [aqui](/pt-BR/reference/data-types/newjson).
