Configuração MongoDB Data Federation
Ken W. Alger, Anaiya Raisinghani5 min read • Published Feb 07, 2022 • Updated Jan 23, 2024
Avalie esse Tutorial
Como um viageiro ávido, você ama se hospedar em Airbnbs e tem feito anotações detalhadas sobre cada um deles em que se hospedou ao longo dos anos. Essas notas estão espalhadas por diferentes locais de armazenamento, como o MongoDB Atlas e o AWS S3, tornando difícil pesquisar um Airbnb específico com as comodidades que sua namorada deseja para sua próxima viagem de Dia dos Namorados. Felizmente, existe uma solução para tornar esse processo muito mais fácil. Ao usar o recurso Data Federation do MongoDB, você pode combinar todos os seus dados em uma exibição lógica e pesquisar facilmente o Airbnb ideal sem ter que se preocupar com onde os dados estão armazenados. Dessa forma, você pode tornar sua viagem de Dia dos Namorados perfeita sem perder tempo pesquisando em diferentes bancos de dados e locais de armazenamento.
Não sabe como usar o recurso Data Federation do MongoDB? Este tutorial irá guiá-lo exatamente como combinar seus dados do Airbnb para facilitar a consulta.
Antes de entrarmos no assunto, há algumas necessidades que precisamos ter para estar na mesma página. Este tutorial requer:
- MongoDB Atlas.
- Uma conta Amazon Web Services (AWS).
- Acesse o Console de gerenciamento da AWS.
- CLI da AWS.
- MongoDB Compass.
Nossa primeira etapa é importar nossos dados do Airbnb para nosso cluster Atlas e nosso bucket S3, para que tenhamos dados com os quais trabalhar ao longo deste tutorial. Certifique-se de importar o conjunto de dados para esses dois locais de armazenamento.
Etapa 2: depois que seu cluster estiver configurado, clique nas três reticências e clique em “Carregar conjunto de dados de amostra”.
Etapa 3: depois de receber essa mensagem verde, você saberá que seu conjunto de dados de amostra (notas do Airbnb) está carregado corretamente em seu cluster.
Etapa 1: usaremos este conjunto de dados de exemplo. Faça o download localmente. Ele contém os dados de amostra com os quais estamos trabalhando junto com a estrutura de bucket S3 necessária para esta demonstração.
Etapa 2: depois de baixar o conjunto de dados, acesse o Console de gerenciamento do Amazon Web Services e navegue até o serviço S3.
Etapa 3: aperte o botão “Create Bucket” e siga as instruções para criar seu bucket e fazer upload do sampledata.zip.
Etapa 4: certifique-se de descompactar seu arquivo antes de enviar as pastas para o S3.
Passo 5: Depois que seus dados forem carregados no bucket, você verá várias pastas, cada uma com tipos de dados variados.
Etapa 6: Siga o caminho: Amazon S3 > Buckets > atlas-data-federation-demo > JSON/ > airbnb/ para visualizar suas anotações do Airbnb. A estrutura do seu bucket deve ter a seguinte aparência:
Parabéns! Você enviou com sucesso suas extensas notas do Airbnb não em um, mas em dois locais de armazenamento. Agora, vejamos como recuperar essas informações em um local usando o Data Federation para que possamos encontrar o Airbnb ideal. Para fazer isso, precisamos nos familiarizar com o console do MongoDB Atlas Data Federation.
Dentro do console do MongoDB Atlas, no lado esquerdo, clique em Data Federation.
Aqui, clique em "set up manually" no menu suspenso "criar novo banco de dados federado" no canto superior direito da interface do usuário. Isso nos levará a uma página onde podemos adicionar nossas fontes de dados. Você pode renomear sua instância de banco de dados federado para qualquer nome que desejar. Depois de salvá-lo, você não poderá alterar o nome.
Vamos adicionar nossas fontes de dados do cluster e do nosso bucket!
Etapa 1: clique em "Add Data Source. "
Passo 2: Selecione o botão "Amazon S3 " e clique em "Next. "
Etapa 3: A partir daqui, clique em Avançar no “Authorize an AWS IAM Role:
Passo 4: Clique em “Create New Role in the AWS CLI”:
Etapa 5: agora, você vai querer garantir que tenha a AWS CLI configurada em seu laptop.
Etapa 6: siga as etapas abaixo do "Create New Role with the AWS CLI " em sua CLI da AWS.
1 aws iam create-role \ 2 --role-name datafederation \ 3 --assume-role-policy-document file://role-trust-policy.json
Etapa 7: você pode encontrar seu “ARN” diretamente no seu terminal. Copie isso — deve ficar assim:
1 arn:aws:iam::7***************:role/datafederation
Etapa 8: insira o nome do bucket que contém suas anotações do Airbnb:
Etapa 9: Siga as instruções no Atlas e salve sua função na política.
Etapa 10: copie os comandos CLI listados na tela e cole-os em seu terminal da seguinte forma:
1 aws iam put-role-policy \ 2 --role-name datafederation \ 3 --policy-name datafederation-policy \ 4 --policy-document file://adl-s3-policy.json
Etapa 11: acesse o Console da AWS, localize o arquivo listingsAndReviews.json localizado no bucket S3 e copie o URI S3 .
Etapa 12: insira-o de volta na tela “Define ‘Data Sources’ Using Paths Inside Your S3” e altere cada etapa da árvore para “static.”
Passo 13: Arraste seu arquivo do lado esquerdo da tela para o meio, onde diz: "Drag the dataset to your Federated Database." Seguir essas etapas corretamente resultará em uma página semelhante à captura de tela abaixo.
Você adicionou com sucesso suas notas do Airbnb do seu bucket S3. Bom trabalho. Vamos fazer o mesmo com as anotações salvas em nosso Atlas cluster.
Etapa 1: Clique em "Add Data Sources. "
Etapa 2: selecione "MongoDB Atlas Cluster " e forneça o nome do cluster junto com nossa coleção sample_airbnb. Estas são suas anotações do Atlas Airbnb.
Passo 3: Clique em "Next" e seu sample_airbnb.listingsAndReviews aparecerá no lado esquerdo do console.
Etapa 4: arraste-o diretamente para baixo das notas do Airbnb do seu bucket S3 e clique em "Save. " Seu console deve ficar assim quando terminar:
ótimo trabalho. Você importou com sucesso suas anotações do Airbnb do bucket S3 e do Atlas cluster para um local. Vamos nos conectar ao nosso banco de dados federado e ver nossos dados combinados em um local facilmente consultável.
Vamos nos conectar ao nosso banco de dados federado usando o MongoDB Compass.
Etapa 1: Clique no botão verde "Connect " e selecione "Connect using MongoDB Compass. "
Etapa 2: copie a connection string, certifique-se de trocar o usuário e a senha para você. Este usuário deve ter acesso de administrador para acessar os dados.
Etapa 3: Depois de estar conectado ao Compass, clique em "VirtualDatabase0 " e, mais uma vez, em "VirtualCollection0. "
Trabalho surpreendente. Agora você pode ver todas as suas anotações do Airbnb em um só local!
Neste tutorial, armazenamos com êxito seus dados do Airbnb em vários locais de armazenamento, combinamos esses conjuntos de dados separados em um por meio do Data Federation e acessamos com êxito nossos dados por meio do MongoDB Compass. Agora você pode procurar e agendar o Airbnb ideal para a sua viagem em uma fração do tempo.