Sobre o Atlas Data Federation
O Atlas Data Federation é um mecanismo de query distribuído que permite que você nativamente consultar, transformar e mover dados entre várias fontes dentro e fora do MongoDB Atlas.
Conceitos chave
Federação de Dados
A Data Federation é uma estratégia que separa a computação do armazenamento. Ao usar o Data Federation, você associa dados de várias fontes físicas em uma única fonte virtual de dados para seus aplicativos. Isso permite consultar seus dados a partir de um único endpoint sem copiá-los ou movê-los manualmente.
Instância do banco de dados federado
Uma instância do banco de dados federado é um sistema do Atlas Data Federation. Cada instância de banco de dados federado contém bancos de dados virtuais e coleções que são mapeadas para dados em seus armazenamentos de dados.
Banco de dados virtual
Um banco de dados virtual é um agrupamento de collections que organiza seus dados em um único local virtual.
Collection virtual
Uma collection virtual é um agrupamento de documentos do MongoDB (semelhante a uma tabela em um banco de dados relacional) que reside em um único banco de dados virtual. As coleções não exigem um esquema fixo.
Armazenamento de dados
Um armazenamento de dados refere-se à localização dos seus dados. O Atlas Data Federation é compatível com os seguintes armazenamentos de dados:
Cluster do Atlas
Atlas online archive
AWS Buckets S3
Armazenamento de blobs Azure
Google Cloud Platform Armazenamento do Google Cloud Platform
Endpoints HTTP e HTTPS
Importante
Uma instância do banco de dados federado está limitada a uma instância do Amazon Web Services S3, do Azure Blob Storage e do Google Cloud Platform Storage ao mesmo tempo. Da mesma forma, a Data Federation entre projetos Atlas não está disponível. Consulte Limitações de Data Federation para mais detalhes sobre limitações de Data Federation.
Configuração de armazenamento
A configuração de armazenamento contém mapeamentos entre seus bancos de dados virtuais, collections e armazenamentos de dados. Você pode definir esses mapeamentos para acessar e executar queries em seus dados.
Arquitetura do Atlas Data Federation
Quando você usa o Atlas Data Federation, existem instâncias de banco de dados federadas dentro de VPCsregionais. Todo o tráfego de dados de instância do banco de dados federado, seja para Atlas clusters ou para armazenamento de objeto no provedor de nuvem, é criptografado por TLS. A criptografia TLS é a principal forma de segurança de rede disponível com o Atlas Data Federation. Se a instância do banco de dados federado e a fonte de dados (Atlas cluster, S3, Blob, Armazenamento do GCP) usarem o mesmo provedor de nuvem, o tráfego de dados atravessará a infraestrutura de rede do fornecedor de nuvem ou a Internet pública, dependendo da rede documentada do fornecedor de nuvem capacidades de serviço. Se sua instância do banco de dados federado e fonte de dados estiverem em provedores de nuvem diferentes, o tráfego de dados atravessará a Internet pública.

O Plano de Dados no diagrama anterior é onde seus dados residem. Você pode configurar o Atlas Data Federation para acessar dados em uma variedade de serviços de armazenamento. Especificamente, você pode configurar o Atlas Data Federation para acessar dados em seus buckets do Amazon Web Services S3 nas regiões do Amazon Web Services, containers do Azure Blob Storage, buckets do GCP Storage, clusters do Atlas ,URL s HTTPe HTTPS e Atlas Online Archives. Para saber mais sobre como configurar o Atlas Data Federation para acessar seus armazenamentos de dados, consulte Definir armazenamentos de dados para uma instância de banco de dados federado.
Você pode então configurar o controle de acesso baseado em função para suas instâncias do banco de dados federado. Você pode controlar como seu cliente se conecta à instância do banco de dados federado, por meio de uma opção de conexão global ou fixando-a em uma região específica. Para saber mais, consulte Configurar conexão para sua instância do banco de dados federado.
O Atlas Data Federation preserva a localidade dos dados e maximiza a computação local, sempre que possível, para minimizar a transferência de dados e otimizar o desempenho. O Plano de Computação no diagrama anterior mostra onde o Atlas Data Federation processa todas as solicitações. O Atlas Data Federation fornece um pool elástico de agentes na região mais próxima de seus dados, onde o Atlas Data Federation pode processar os dados para suas queries. Para saber mais sobre regiões suportadas, consulte Regiões do Atlas Data Federation .
O Atlas Data Federation não mantém os dados dentro do sistema e, depois que sua query é processada, ele armazena apenas os metadados em sua instância do banco de dados federado. Isso permite que você cumpra as normas de soberania de dados e garante que seus dados sejam armazenados e processados em conformidade com os requisitos legais.
O Plano de Controle no diagrama anterior, que é o mesmo que o Plano de Controle Atlas, é onde o Atlas Data Federation equilibra as solicitações do usuário e agrega os resultados finais.
O Atlas Data Federation executa determinadas partes de uma query diretamente no serviço de armazenamento subjacente em vez de transferir todos os dados para os nós de computação para processamento. Além disso, quando você executa uma query, ela é processada primeiro por um componente frontend do Data Federation, que planeja a query e, em seguida, a distribui para os nós no backend. Os nós de backend então acessam seu armazenamento de dados diretamente para executar a lógica de consulta e devolver os resultados para o frontend. Esse processo reduz a quantidade de dados movidos, tornando todo o processo mais rápido e mais barato. Para saber mais, consulte a seção Consultar uma Instância do Banco de Dados Federado.
Para otimizar o desempenho das suas queries, o Atlas Data Federation faz o seguinte:
Para o Cloud Object Storage, ele usa o particionamento de dados para selecionar os arquivos que precisam ser processados com base nos parâmetros da query. Para saber mais, consulte Definir Caminho para Dados S3 e Utilizar Tipos de Atributo de Partição. Além disso, ele usa metadados Parquet para reduzir a quantidade de dados que verifica de arquivos parquet usando seleção de grupo de linhas ou projeção de coluna. Para saber mais, consulte Formato de Dados de Parquet.
Para clusters do Atlas , ele tenta "empurrar para baixo" o máximo possível da query para o cluster. Por exemplo, se o pipeline de agregação tiver um estágio e ele puder ser processado localmente, o Atlas Data Federation tentará processar esse estágio no Atlas cluster e apenas retornará os documentos resultantes de volta à camada federada para processamento subsequente
$match
estágios. Para saber mais, consulte Consultando Dados em Seu Cluster Atlas.
Para saber mais, consulte Otimizar o Desempenho da Query.
Você pode se conectar ao Atlas Data Federation usando drivers específicos de linguagem do MongoDB , mongosh
e Atlas SQL. Para saber mais, consulte Conectar à Instância do Banco de Dados Federado.
Amostras de usos
Você pode utilizar o Atlas Data Federation para:
Copie os dados do cluster do Atlas para arquivos Parquet ou CSV CSV gravados em buckets do Amazon Web Amazon Web Services Services S ou do3 Azure Azure Blob Storage.
Consulte vários clusters e arquivos on-line do Atlas para obter um visão holística dos dados do seu Atlas.
Materialize dados de aggregations entre Atlas clusters, bucketsAmazon Web Services do Amazon3 Azure Web Services S e Azure Blob Storage.
Leia e importe dados de seus blocos Amazon Web Services S3 do Azure Amazon Web Services ou Azure Blob Storage para um cluster Atlas .
Regiões do Atlas Data Federation
Observação
Para evitar cobranças excessivas em sua fatura, crie seu Atlas Data Federation na mesma região do AWS ou do Azure que sua fonte de dados S3 ou Azure Blob Storage. Você pode consultar o AWS S3 apenas usando instâncias do banco de dados federado criadas na AWS e pode consultar o Azure Blob Storage apenas usando instâncias de banco de dados federado criadas no Azure.
O Atlas Data Federation encaminha suas solicitações de banco de dados federado por uma das seguintes regiões:
Região Data Federation | Região Amazon Web Services | Região do Atlas |
---|---|---|
Northern Virginia, EUA |
|
|
Oregon, EUA |
|
|
São Paulo, Brasil |
|
|
Irlanda |
|
|
Londres, Inglaterra, Reino Unido |
|
|
Frankfurt, Alemanha |
|
|
Tokyo, Japan |
|
|
Seul, Coreia do Sul |
|
|
Mumbai, Índia |
|
|
Cingapura |
|
|
Sydney, Austrália |
|
|
Montreal, QC, Canadá |
|
|
Região Data Federation | Região do Azure | Região do Atlas |
---|---|---|
Virginia, USA |
|
|
São Paulo, Brasil |
|
|
Países Baixos |
|
|
Região Data Federation | Região do Google Cloud | Região do Atlas |
---|---|---|
Iowa, USA |
|
|
Bélgica |
|
|
Observação
Você incorrerá em cobranças ao executar queries federadas. Para mais informações, consulte Custos de Federação de Dados.