Distribua uma instância de banco de dados federado
Nesta página
Esta página descreve como implantar uma instância do banco de dados federado para acessar dados em um cluster Atlas.
Acesso necessário
Para implantar uma instância do banco de dados federado, você deve ter acesso do Project Owner
ao projeto. Os usuários com acesso Organization Owner
devem se adicionar como Project Owner
ao projeto antes de implantar uma instância do banco de dados federado.
Pré-requisitos
Antes de começar, você precisará:
Crie uma conta do MongoDB Atlas , se ainda não tiver uma.
Crie um cluster do Atlas, se ainda não tiver um. O Atlas Data Federation suporta cluster do Atlas distribuídos no Amazon Web Services, Azure ou GCP.
Observação
Para usar seu Atlas cluster como um armazenamento de dados, você deve implementá-lo no mesmo projeto que sua instância do banco de dados federado.
Adicione dados a pelo menos uma collection no seu cluster do Atlas, caso ainda não tenha feito isso.
Procedimento
Para criar um novo reconhecimento de data center Data Federation utilizando o Atlas CLI, execute o seguinte comando:
atlas dataFederation create <name> [options]
Para saber mais sobre a sintaxe e os parâmetros do comando, consulte a documentação do Atlas CLI para criar o Atlas dataFederation.
Selecione o provedor de nuvem onde o Atlas Data Federation processará suas queries em relação à sua instância do banco de dados federado.
Você pode selecionar Amazon Web Services Azure Google Cloud PlatformAmazon Web Services , Azure ou Google Cloud Platform . Após sua instância do banco de dados federado ser criada, você não poderá alterar o provedor de nuvem onde o Atlas Data Federation processa suas queries.
Se você quiser fazer uma query de dados em um cluster do Atlas, recomendamos que selecione esse mesmo fornecedor de cloud como o fornecedor de cloud do seu cluster. Para executar queries de dados em armazenamento de objetos, como AWS S3 ou Azure Blob Storage, você deve selecionar a mesma nuvem para sua instância do banco de dados federado que a nuvem para seu armazenamento de objetos.
Especifique seu armazenamento de dados.
Selecione o conjunto de dados para sua instância do banco de dados federado na seção Data Sources .
Clique em Add Data Sources para selecionar seu armazenamento de dados.
Especifique seu conjunto de dados.
Escolha Atlas Cluster para configurar uma instância do banco de dados federado para dados no cluster Atlas.
Corresponde à configuração
stores.[n].provider
JSON.Selecione o Atlas cluster que deseja utilizar como armazenamento de dados na seção Provide Namespaces in this project .
Corresponde à configuração
stores.[n].clusterName
JSON.Expanda os bancos de dados e selecione as coleções que você deseja adicionar à sua instância do banco de dados federado.
Para filtrar os bancos de dados e as coleções, insira texto no campo Search database or collection . A caixa de diálogo exibe somente bancos de dados e collections com nomes que correspondem aos seus critérios de pesquisa.
Corresponde às definições de configuração
databases.[n].collections.[n].dataSources.[n].database
databases.[n].collections.[n].dataSources.[n].collection
JSON e .Opcional. Especifique as configurações do Cluster Read Preference expandindo a seção.
Corresponde a
stores.[n].readPreference
.Nome do campoDescriçãoRead Preference Mode
Especifica o membro do conjunto de réplicas para o qual você deseja rotear as solicitações de leitura. Você pode escolher uma das seguintes opções no menu suspenso:
primary
- para rotear todas as solicitações de leitura para o conjunto de réplicas primárioprimaryPreferred
- para rotear todas as solicitações de leitura do conjunto de réplicas primário e para membros secundários somente seprimary
não estiver disponívelsecondary
- para rotear todas as solicitações de leitura para os membros secundários do conjunto de réplicassecondaryPreferred
- para rotear todas as solicitações de leitura para os membros secundários do conjunto de réplicas e o primary em clusters fragmentados somente se os membrossecondary
não estiverem disponíveisnearest
- para rotear todas as solicitações de leitura para um membro aleatório qualificado do conjunto de réplicas, independentemente de esse membro ser primário ou secundário
Se você adicionar um cluster do Atlas como uma loja, o valor padrão será
secondary
.Se você não definir nada na configuração de armazenamento da instância do banco de dados federado , o valor padrão será
nearest
. Para saber mais, consulte modo de read preference.Corresponde a
stores.[n].readPreference.mode
.TagSets
Especifica a lista de tags ou documentos de especificação de tags que contêm pares de nome e valor para o membro do conjunto de réplicas para o qual você deseja direcionar as solicitações de leitura. Para saber mais, consulte Conjuntos de tags de read preference.
Corresponde a
stores.[n].readPreference.tagSets
.Maxstaleness Seconds
Especifica o atraso de replicação ou "obsoleto", para leituras de secundários. Para saber mais, consulte Preferência de leitura maxStalenessSeconds.
Corresponde a
stores.[n].readPreference.maxStalenessSeconds
.Clique em Next.
Crie os bancos de dados, collections e visualizações virtuais e mapeie os bancos de dados, collections e visualizações para seu armazenamento de dados.
(Opcional) Clique em para o:
Banco de dados para editar o nome do banco de dados. Padrão é
VirtualDatabase[n]
.Corresponde à configuração JSON do
databases.[n].name
.Coleção para editar o nome da coleção. O padrão é
VirtualCollection[n]
.Corresponde à configuração JSON do
databases.[n].collections.[n].name
.Visualizar para editar o nome da visualização.
Você pode clicar em:
Add Database para adicionar bancos de dados e coleções.
associado ao banco de dados para adicionar coleções ao banco de dados.
associado à collection para adicionar visualizações na collection. Para criar uma visualização, você deve especificar:
O nome da visualização.
O pipeline a ser aplicado à visualização.
O pipeline de definição de visualização não pode incluir o estágio
$out
ou$merge
. Se a definição de visualização incluir estágios de pipeline aninhados, como$lookup
ou$facet
, essa restrição também se aplicará a esses pipelines aninhados.
Para saber mais sobre visualizações, consulte:
associado ao banco de dados, coleção ou visualização para removê-la.
Selecione Atlas Cluster no menu suspenso da seção Data Sources .
Arraste e solte o armazenamento de dados para mapear com a collection.
Corresponde à configuração JSON do
databases.[n].collections.[n].dataSources
.
Sua configuração para um armazenamento de dados do Atlas cluster deve ser semelhante ao seguinte:
1 { 2 "stores" : [ 3 { 4 "name" : "<string>", 5 "provider": "<string>", 6 "clusterName": "<string>", 7 "projectId": "<string>", 8 "readPreference": { 9 "mode": "<string>", 10 "tagSets": [ 11 [{"name": "<string>", "value": "<string>"},...], 12 ... 13 ], 14 "maxStalenessSeconds": <int> 15 } 16 } 17 ], 18 "databases" : [ 19 { 20 "name" : "<string>", 21 "collections" : [ 22 { 23 "name" : "<string>", 24 "dataSources" : [ 25 { 26 "storeName" : "<string>", 27 "database" : "<string>", 28 "databaseRegex": "<string>", 29 "collection" : "<string>", 30 "collectionRegex" : "<string>", 31 "provenanceFieldName": "<string>" 32 } 33 ] 34 } 35 ], 36 "views" : [ 37 { 38 "name" : "<string>", 39 "source" : "<string>", 40 "pipeline" : "<string>" 41 } 42 ] 43 } 44 ] 45 }
Para saber mais sobre essas definições de configuração, consulte Definir armazenamentos de dados para uma instância de banco de dados federado.
Defina seu armazenamento de dados Atlas .
Edite as definições de configuração JSON mostradas na interface do usuário para
stores
. Sua configuração de configuração dostores
deve ser semelhante ao seguinte:"stores" : [ { "name" : "<string>", "provider" : "<string>", "clusterName" : "<string>", "projectId": "<string>" "readPreference": { "mode": "<string>", "tagSets": [ [{"name": "<string>", "value": "<string>"},...], ... ], "maxStalenessSeconds": <int> }, "readConcern": { "level": "<string>" } } ] Para saber mais sobre essas definições de configuração, consulte
stores
.Defina seus bancos de dados virtuais, collections e visualizações de instância do banco de dados federado .
Edite as definições de configuração JSON mostradas na interface do usuário para
databases
. Sua configuração de configuração dodatabases
deve ser semelhante ao seguinte:"databases" : [ { "name" : "<string>", "collections" : [ { "name" : "<string>", "dataSources" : [ { "storeName" : "<string>", "database" : "<string>", "databaseRegex": "<string>", "collection" : "<string>", "collectionRegex" : "<string>", "provenanceFieldName": "<string>" } ] } ] } ] Para saber mais sobre essas definições de configuração, consulte
databases
.