Neste documento, descrevemos como implantar a transformação de dados entre o MongoDB Atlas e o Google Cloud. Neste documento, você implantará um processo de extração, transformação e carregamento (ETL) entre dados do MongoDB Atlas para o BigQuery.
Estas instruções são destinadas a administradores de dados que querem usar o BigQuery para realizar análises complexas sobre os dados operacionais armazenados no MongoDB Atlas. Você precisa conhecer o MongoDB Atlas, o BigQuery e o Dataflow.
Arquitetura
O diagrama a seguir mostra a arquitetura de referência que você usa ao implantar essa solução.
Conforme mostrado no diagrama, há três modelos do Dataflow que processam o processo de integração. O primeiro modelo, MongoDB para BigQuery, é um pipeline em lote que lê documentos do MongoDB e os grava no BigQuery. O segundo modelo, BigQuery para MongoDB, é um modelo em lote que pode ser usado para ler os dados analisados do BigQuery e gravá-los no MongoDB. O terceiro modelo, MongoDB para BigQuery (CDC), é um pipeline de streaming que funciona com os fluxos de alterações do MongoDB para processar alterações nos dados operacionais. Para mais detalhes, consulte Transformação de dados entre o MongoDB Atlas e o Google Cloud.
Objetivos
As etapas de implantação a seguir demonstram como usar o modelo do MongoDB para o BigQuery a fim de executar o processo de ETL entre os dados do MongoDB Atlas para o BigQuery. Para implantar esse processo de ETL, realize as seguintes tarefas:
- Provisionar um cluster do MongoDB Atlas no Google Cloud.
- Carregue dados no cluster do MongoDB.
- Configurar o acesso ao cluster.
- Configurar uma tabela do BigQuery no Google Cloud.
- Crie e monitore o job do Dataflow que transfere os dados do MongoDB para o BigQuery.
- Validar as tabelas de saída no BigQuery.
Custos
Neste documento, você usará os seguintes componentes faturáveis do Google Cloud:
Para gerar uma estimativa de custo baseada na projeção de uso deste tutorial, use a calculadora de preços.
Ao concluir as tarefas descritas neste documento, é possível evitar o faturamento contínuo excluindo os recursos criados. Saiba mais em Limpeza.
Antes de começar
Conclua as etapas a seguir para configurar um ambiente da arquitetura do MongoDB para o BigQuery.
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and Dataflow APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the BigQuery and Dataflow APIs.
Instalar o MongoDB Atlas
Nesta seção, você usará o Cloud Marketplace para instalar uma instância do MongoDB Atlas. Estas instruções presumem que você não tenha uma conta do MongoDB. Para ver todos os detalhes sobre como configurar uma assinatura e vincular sua conta de faturamento do Google à sua conta do MongoDB, consulte Marketplace de autoatendimento do Google Cloud na documentação do MongoDB.
- No console do Google Cloud, expanda o menu de navegação e selecione Marketplace.
- Na caixa de pesquisa do Marketplace, digite MongoDB Atlas.
- Nos resultados da pesquisa, selecione MongoDB Atlas (Pagar por utilização).
- Na página MongoDB Atlas (pagamento por utilização), consulte a visão geral dos Termos e Condições e clique em Inscrever-se com o MongoDB.
- Na página de assinatura do MongoDB, selecione sua conta de faturamento, aceite os termos e clique em Assinar.
- Clique no botão Registrar com MongoDB e crie uma conta do MongoDB.
- Na página que solicita a seleção de uma organização, selecione a organização do MongoDB em que sua conta de faturamento do Google Cloud será vinculada.
- Aguarde o Google Cloud terminar de sincronizar sua organização.
Quando as contas forem sincronizadas, a página MongoDB Atlas (pagamento por utilização) no console do Google Cloud será atualizada para exibir um botão Gerenciar no provedor. de dois minutos.
Criar um cluster do MongoDB Atlas
Nesta seção, você vai criar um cluster do MongoDB. Durante o processo de criação, você seleciona as seguintes informações:
- O tipo de cluster. Selecione o nível do cluster com base nos requisitos da sua infraestrutura.
- A região preferida do seu cluster. Recomendamos que você selecione a região mais próxima da sua localização física.
Para detalhes sobre como criar e implantar um cluster gratuito do MongoDB, consulte Implantar um cluster gratuito na documentação do MongoDB.
Para criar e configurar o cluster, siga estas etapas:
- No console do Google Cloud, na página MongoDB Atlas (pagamento por utilização), clique em Gerenciar no provedor.
Na página de login do MongoDB, clique em Google e na Conta do Google usada para instalar o MongoDB Atlas.
Como um novo usuário, a IU do MongoDB abre automaticamente a página Implantações do banco de dados.
Na interface do Atlas, na página Implantações do banco de dados, clique em Criar.
Na página Criar um cluster, clique em Compartilhado.
A opção Shared fornece um cluster gratuito que pode ser usado para testar essa arquitetura de referência.
Na página Criar um cluster compartilhado, na seção Provedor e região de nuvem, faça o seguinte:
- Selecione Google Cloud.
- Selecione a região geográfica mais próxima de você e que tenha as características que você quer.
Na seção Nível do cluster, selecione a opção M0.
Os clusters
M0
são gratuitos e adequados para pequenos aplicativos de prova de conceito.Em Nome do cluster, insira o nome do cluster.
Clique em Criar cluster para implantar o cluster.
Configurar o cluster do MongoDB
Nesta seção, você vai concluir os seguintes procedimentos:
- Carregar os dados de amostra no cluster.
- Como configurar o acesso ao cluster.
- Como se conectar ao cluster
Carregue dados de amostra no cluster do MongoDB
Agora que você criou um cluster do MongoDB, é preciso carregar dados nele. O MongoDB carrega uma variedade de conjuntos de dados de amostra. É possível usar qualquer um desses conjuntos de dados para testar a implantação. No entanto, é recomendável usar um conjunto de dados semelhante aos dados reais que você vai usar na implantação da produção.
Para saber detalhes sobre como carregar os dados de amostra, consulte Carregar os dados de amostra na documentação do MongoDB.
Para carregar os dados de amostra, siga estas etapas:
- Na interface do Atlas, na página Implantações do banco de dados, localize o cluster que você acabou de implantar.
Clique no botão Elipses (...) e depois em Carregar conjunto de dados de amostra.
O carregamento dos dados de amostra leva aproximadamente cinco minutos.
Revise os conjuntos de dados de amostra e anote qual coleção você quer usar ao testar esta implantação.
Configurar o acesso ao cluster
Para conectar o cluster, você precisa criar um usuário de banco de dados e definir o endereço IP do cluster:
- O usuário do banco de dados é separado do usuário do MongoDB. Você precisa que o usuário do banco de dados se conecte ao MongoDB pelo Google Cloud.
- Para esta arquitetura de referência, use o bloco CIDR de
0.0.0.0/0
como seu endereço IP. Esse bloco CIDR permite o acesso de qualquer lugar e só é adequado para uma implantação de prova de conceito, como esta. No entanto, ao implantar uma versão de produção dessa arquitetura, insira um intervalo de endereços IP adequado para o aplicativo.
Para detalhes sobre como configurar um usuário de banco de dados e o endereço IP do cluster, consulte Configurar o acesso ao cluster com o assistente de início rápido na documentação do MongoDB.
Para configurar o acesso ao cluster, siga estas etapas:
- Na seção Segurança do painel de navegação à esquerda, clique em Guia de início rápido.
- Na página Nome de usuário e senha, faça o seguinte para
criar o usuário do banco de dados:
- Em Nome de usuário, insira o nome do usuário do banco de dados.
- Em Senha, insira a senha do banco de dados.
- Clique em Create User.
Na página Nome de usuário e senha, faça o seguinte para adicionar um endereço IP ao cluster:
Em Endereço IP, digite 0.0.0.0/0.
Para o ambiente de produção, selecione o endereço IP apropriado para ele.
(Opcional) Em Descrição, digite uma descrição do cluster.
Clique em Adicionar entrada.
Clique em Finish and Close.
Conectar-se ao seu cluster
Após configurar o acesso ao cluster, agora é preciso se conectar a ele. Para saber detalhes sobre como se conectar ao cluster, consulte Conectar-se ao cluster na documentação do MongoDB.
Siga estas etapas para se conectar ao cluster:
- Na interface do Atlas, na página Implantações do banco de dados, localize o cluster que você acabou de implantar.
- Selecione Conectar.
- Na página Conectar, clique na opção Bússola.
Localize o campo Copy the connection string e, em seguida, copie e salve a string de conexão do MongoDB. Use essa string de conexão ao executar os modelos do Dataflow.
A string de conexão tem a seguinte sintaxe:
mongodb+srv://<UserName>:<Password>@<HostName>
A string de conexão tem automaticamente o nome de usuário do usuário do banco de dados que você criou na etapa anterior. No entanto, você precisará informar a senha do usuário do banco de dados quando usar essa string para se conectar.
Clique em Fechar.
Criar um conjunto de dados no BigQuery
Ao criar um conjunto de dados no BigQuery, você só precisa inserir o nome dele e selecionar uma localização geográfica para ele. No entanto, há campos opcionais que podem ser definidos no conjunto de dados. Para mais informações sobre esses campos opcionais, consulte Criar conjuntos de dados.
No Console do Google Cloud, acesse a página BigQuery.
No painel Explorador, selecione o projeto em que você quer criar o conjunto de dados.
Expanda a opção
Ações e clique em Criar conjunto de dados.Na página Criar conjunto de dados, faça o seguinte:
- Em ID do conjunto de dados, insira um nome exclusivo para o conjunto de dados.
Em Tipo de local, escolha um local geográfico para o conjunto de dados. Após a criação de um conjunto de dados, o local não pode ser alterado.
Se você escolher
EU
ou uma região com base na UE para o local do conjunto de dados, os principais dados de cliente do BigQuery ficarão na União Europeia. Para uma definição dos principais dados do cliente do BigQuery, consulte os Termos específicos do serviço.Clique em Criar conjunto de dados.
Criar, monitorar e validar um job em lote do Dataflow
No Dataflow, use as instruções a seguir para criar um job único em lote que carregue os dados de amostra do MongoDB para o BigQuery. Depois de criar o job em lote, monitore o andamento na interface de monitoramento do Dataflow. Para ver detalhes completos sobre o uso da interface de monitoramento, consulte Usar a interface de monitoramento do Dataflow.
No Console do Google Cloud, abra a página Dataflow.
Clique em Criar job usando um modelo.
Na página Criar job a partir de um modelo, siga estas etapas:
- Em Nome do job, insira um nome exclusivo, como mongodb-to-bigquery-batch. Verifique se nenhum outro job do Dataflow com esse nome está sendo executado nesse projeto.
- Em Endpoint regional, selecione o mesmo local do conjunto de dados do BigQuery que você acabou de criar.
- Em Modelo do Dataflow, na lista Processar dados em massa (lote), selecione MongoDB para BigQuery.
Na seção Parâmetros obrigatórios, insira os seguintes parâmetros:
- Para URI de conexão do MongoDB, insira a string de conexão do Atlas MongoDB.
- Em Banco de dados do Mongo, insira o nome do banco de dados criado anteriormente.
- Para a Coleção Mongo, insira o nome da coleção de amostra que você anotou anteriormente.
- Para a tabela de destino do BigQuery, clique em Procurar e selecione a tabela do BigQuery que você criou na etapa anterior.
Em Opção do usuário, digite NONE ou FLATTEN.
NONE vai carregar o documento inteiro no formato de string JSON no BigQuery. FLATTEN nivela o documento em um nível. Se você não fornecer uma UDF, a opção FLATTEN só funcionará com documentos que tenham um esquema fixo.
Para iniciar o job, clique em Executar job.
Use as etapas a seguir para abrir a interface de monitoramento do Dataflow, em que é possível verificar o progresso do job em lote e confirmar se ele é concluído sem erros:
- No console do Google Cloud, no projeto dessa implantação, abra o menu de navegação.
- No Google Analytics, clique em Dataflow.
Depois que o pipeline for executado com êxito, faça o seguinte para validar a saída da tabela:
- No BigQuery, abra o painel do Explorer.
Expanda seu projeto, clique no conjunto de dados e clique duas vezes na tabela.
Agora você pode visualizar os dados do MongoDB na tabela.
Limpar
Para evitar cobranças nas suas contas do MongoDB e do Google Cloud, pause ou encerre o cluster do MongoDB Atlas e exclua o projeto do Google Cloud criado para essa arquitetura de referência.
Pausar ou encerrar o cluster do MongoDB Atlas
O procedimento a seguir fornece os princípios básicos para pausar o cluster. Para saber todos os detalhes, consulte Pausar, retomar ou encerrar um cluster na documentação do MongoDB.
- Na IU do Atlas, acesse a página Implantações do banco de dados do projeto do Atlas.
- No cluster que você quer pausar, clique em .
- Clique em Pausar cluster.
- Clique em Pausar cluster para confirmar sua escolha.
Excluir o projeto
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
A seguir
- Encontre modelos do Google Dataflow no GitHub para personalizá-los.
- Saiba mais sobre as soluções do MongoDB Atlas e do Google Cloud no aumento de habilidades do Cloud.
- Saiba mais sobre os produtos do Google Cloud usados nesta arquitetura de referência:
- Para mais arquiteturas de referência, diagramas e práticas recomendadas, confira a Central de arquitetura do Cloud.
Colaboradores
Autores:
- Saurabh Kumar | Engenheiro de parceiros de ISV
- Venkatesh Shanbhag | Arquiteto de soluções sênior (MongoDB)
Outros colaboradores:
- Jun Liu | Líder de tecnologia de suporte
- Maridu Raju Makaraju | Líder de tecnologia de suporte
- Sergei Lilichenko, Arquiteto de soluções
- Shan Kulandaivel | Gerente de produtos do grupo
Para ver perfis não públicos do LinkedIn, faça login.