EventoObtenha 50% de desconto no seu ingresso para MongoDB.local Londres em outubro 2. Use o código WEB50Saiba mais >>
Desenvolvedor MongoDB
Central de desenvolvedor do MongoDBchevron-right
Produtoschevron-right
Atlaschevron-right

Como consultar de vários bancos de dados do MongoDB usando o MongoDB Atlas Data Federation

Joe Karlsson7 min read • Published Feb 07, 2022 • Updated Jan 23, 2024
AWSAtlasFederação de Dados
Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Tutorial
star-empty
star-empty
star-empty
star-empty
star-empty
Você já precisou fazer queries em bancos de dados, clusters, data centers ou até mesmo combiná-los com dados armazenados em um blob do AWS S3 ? Você provavelmente não precisou fazer tudo isso de uma vez, mas suponha que você precisasse fazer pelo menos um deles em algum momento de sua carreira. Aposto também que você não sabe que isso é possível (e fácil) de fazer com o MongoDB Atlas Data Federation! Eles permitem que você configure vários sistemas MongoDB remotos e habilitem consultas federadas em todos os sistemas configurados.
Gráfico de design do MongoDB Atlas Data Lake mostrando um lago com colchetes JSON para ondas e uma sobreposição de dados de amostra.
O MongoDB Atlas Data Federation permite que você execute queries em muitos sistemas MongoDB, incluindo clusters, bancos de dados e até mesmo buckets do AWS S3 . Veja como o MongoDB Atlas Data Federation funciona na prática.
Diagrama mostrando como o MongoDB Atlas Data Lake usa um plano de computação para distribuir e executar queries em vários Bancos de Dados MongoDB.
Nota: Neste post, demonstraremos como consultar a partir de dois bancos de dados separados. No entanto, se você quiser consultar dados de duas coleçõesseparadas que estão no mesmo banco de dados, eu pessoalmente recomendo que você use a consulta$lookup (pipeline de agregação). $lookup executa uma junção externa esquerda a uma coleção não fragmentada no mesmo banco de dados para filtrar documentos da coleção "unida" para processamento. Nesse cenário, não é necessário usar uma instância de banco de dados federado.
tl;dr: nesta postagem, guiarei você pelo processo de criação e conexão a um banco de dados virtual no MongoDB Atlas, configurando caminhos para coleções em dois bancos de dados MongoDB separados armazenados em datacenters separados e consultando dados de ambos os bancos de dados usando apenas um única query.

Pré-requisitos

Para acompanhar este tutorial, você precisa:

Distribua uma instância de banco de dados federado

Primeiro, verifique se você está conectado ao MongoDB Atlas. Em seguida, selecione a opção Data Federation na navegação à esquerda.
Captura de tela da página de visão geral do cluster do MongoDB Atlas com uma caixa vermelha destacando o botão de navegação Data Federation no lado direito da tela.
Criar um banco de dados virtual
  • Clique em “set up manually” na lista suspensa " criar novo banco de dados federado " no canto superior direito da interface do usuário.
Página de visão geral do MongoDB Atlas Data Lake com uma caixa vermelha destacando o botão Criar Data Lake
Clique emAdicionar Fonte de Dados na página Configuração do Atlas Data Federation e selecione MongoDB Atlas. Selecione seu primeiro cluster, insira sample_mflix como banco de dados e theaters como coleção. Faça isso novamente para o segundo cluster e insira sample_restaurants como banco de dados e restaurants como a coleção. Para este tutorial, analisaremos dados de restaurantes e alguns dados de amostra de cinemas para determinar o número de cinemas e restaurantes em cada CEP.
Captura de tela do modal de criação do MongoDB Atlas Data Lake mostrando como preenchi o formulário para esta demonstração.
Repita as etapas acima para conectar os dados para o outro cluster e fonte de dados.
Em seguida, arraste esses novos armazenamentos de dados para a instância do banco de dados federado e clique em Salvar. Deve ficar assim.
Captura de tela da página de visão geral do MongoDB Atlas Data Lake com uma caixa vermelha destacando as fontes de dados que criamos na etapa anterior e como as posicionamos na Federação de Dados.

Conecte-se à sua instância do banco de dados federado

A próxima coisa que precisaremos fazer depois de configurar nossa instância de banco de dados federado é conectar-se a ela para que possamos começar a executar consultas em todos os nossos dados. Primeiro, clique em conectar na primeira caixa na página de visão geral da federação de dados.
Captura de tela da página de visão geral do MongoDB Atlas Data Lake com uma caixa vermelha destacando o botão "Conectar".
Clique em Adicionar seu Endereço IP Atual. Insira seu endereço IP e uma descrição opcional e clique em Adicionar endereço IP. Na etapaCriar um usuário MongoDB da caixa de diálogo, insira um nome de usuário e uma senha para o usuário do banco de dados. (Observação: você usará esta combinação de nome de usuário e senha para acessar dados no seu cluster.)

Execute Queries em Seu Banco de Dados Virtual

Você pode executar suas queries da maneira que se quiser. Você pode usar o MongoDB Compass, o MongoDB Shell, conectar-se a um aplicativo ou a qualquer outra coisa que achar necessário. Para esta demonstração, executarei minhas queries usando o plug-in Code do MongoDB Visual Studio e aproveitando seu recursoPlaygrounds. Para obter mais informações sobre como usar esse plug-in, consulte esta publicação em nosso centro de desenvolvedores.
Certifique-se de que você está usando a string de conexão para sua instância do banco de dados federado e não para seus bancos de dados MongoDB individuais. Para obter a string de conexão para sua nova instância do banco de dados federado, clique no botão conectar na página de visão geral do MongoDB Atlas Data Federation . Em seguida, clique em Conectar usando MongoDB Compass. Copie esta connection string na área de transferência. Observação: Adicione a senha do usuário que você autorizou a acessar seu banco de dados virtual aqui.
Captura de tela do modal de conexão do MongoDB Atlas Data Federation com uma caixa vermelha destacando sua connection string que você usará para se conectar ao seu banco de dados virtual
Você vai colar essa connection string no plug-in do MongoDB Visual Studio Code quando adicionar uma nova conexão.
Captura de tela do plug-in MongoDB Visual Studio Code mostrando onde colar sua string de conexão do MongoDB Atlas Data Lake.
Observação: se precisar de ajuda para começar a usar o plug-in de código do MongoDB Visual Studio, não deixe de conferir minha publicação, Como usar o plug-inde código do MongoDB Visual Studio e a documentação oficial.
Você pode executar operações usando a Linguagem de Query MongoDB (MQL), que inclui a maioria, mas não todos, comandos de servidor padrão. Para saber quais operações MQL são suportadas, consulte a documentaçãode Suporte MQL .
As queries a seguir usam os caminhos que você adicionou à sua Instância do Banco de Dados Federado durante a implementação.
Para essa query, eu queria construir uma aggregation exclusiva que só pudesse ser usada se os dois conjuntos de dados de amostra fossem combinados usando query federada e o MongoDB Atlas Data Federation. Para este exemplo, executaremos uma query para determinar o número de cinemas e restaurantes em cada CEP, analisando os conjuntos de dadossample_restaurants.restaurants e sample_mflix.theaters que foram inseridos acima em nossos clusters.
Quero deixar claro que essas fontes de dados ainda estão sendo armazenadas em bancos de dados MongoDB diferentes em datacenters completamente diferentes, mas, aproveitando o MongoDB Atlas Data Federation, podemos consultar todos os nossos bancos de dados de uma só vez como se todos os nossos dados estivessem em um único collection! A query a seguir só é possível usando a pesquisa federada! Quão legal é isso?
Isso gera os códigos postais com a maioria dos teatros e restaurantes.

Resumo

Parabéns! Você acabou de configurar uma Instância de banco de dados federada que contém bancos de dados que estão sendo executados em diferentes provedores de nuvem. Em seguida, você consultou os dois bancos de dados usando o pipeline de agregação do MongoDB, aproveitando o Atlas Data Federation e as queries federadas. Isso nos permite executar consultas com mais facilidade em dados armazenados em várias implantações de banco de dados MongoDB em clusters, data centers e até mesmo em formatos diferentes, incluindo armazenamento de blobs S3.
Captura de tela da página de visão geral do MongoDB Atlas Data Federation mostrando as informações do nosso novo banco de dados virtual.
Captura de tela da página de visão geral do MongoDB Atlas Data Federation mostrando as informações do nosso novo banco de dados virtual.
Se tiver dúvidas, acesse o site da nossa comunidade de desenvolvedores, no qual os engenheiros e a comunidade do MongoDB ajudarão você a desenvolver sua próxima grande ideia com o MongoDB.

Recursos adicionais


Ícone do FacebookÍcone do Twitterícone do linkedin
Avalie esse Tutorial
star-empty
star-empty
star-empty
star-empty
star-empty
Relacionado
Artigo

Pesquisa entre clusters usando Atlas Search e Data Federation


Jul 22, 2022 | 3 min read
Artigo

Usando o SuperDuperDB para acelerar o desenvolvimento de IA no MongoDB Atlas Vector Search


Feb 21, 2024 | 6 min read
Artigo

Correspondências exatas no Atlas Search: guia para desenvolvedores


Aug 30, 2022 | 6 min read
exemplo de código

MergeURL - Aplicativo de exemplo Python


Jul 07, 2022 | 3 min read
Sumário