Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
MongoDB Branding Shape
Click here >
Menu Docs

Observação

Você só pode utilizar novos Arquivos Online como fonte de dados no Atlas Data Federation. Leia a publicação no MongoDB Blog Novo Online Archive com Melhorias de Desempenho e Métricas Aprimoradas para obter mais informações.

O Atlas Data Federation oferece suporte ao Atlas Online Archive como armazenamento de instância do banco de dados federado . Você deve definir mapeamentos em sua configuração de armazenamento de instância do banco de dados federado para seu arquivo online para executar consultas em relação aos seus dados.

Importante

As informações na sua configuração de armazenamento são visíveis internamente no MongoDB e armazenadas como dados operacionais para monitorar e melhorar o desempenho do Atlas Data Federation. Portanto, recomendamos que você não use PII em suas configurações.

Para definir um armazenar de instância do banco de dados federado para um Atlas Online Archive, você pode especificar os seguintes parâmetros de configuração JSON em seu arquivo de configuração da Instância do Banco de Dados Federado. A configuração contém o Atlas Online Archive e o mapeia para coleções virtuais que você pode query.

A seguinte configuração JSON mostra o formato dos campos de configuração stores e databases, que você deve definir em seu arquivo de configuração Instância do Banco de Dados Federado para definir um Atlas Online Archive como um armazenamento de instância do banco de dados federado :

1{
2 "stores" : [
3 {
4 "name" : "<string>",
5 "provider": "<string>",
6 "region": "<string>"
7 }
8 ],
9 "databases" : [
10 {
11 "name" : "<string>",
12 "collections" : [
13 {
14 "name" : "<string>",
15 "dataSources" : [
16 {
17 "storeName" : "<string>",
18 "datasetName" : "<string>",
19 "datasetPrefix": "<string>",
20 "trimLevel": <int>,
21 "provenanceFieldName": "<string>",
22 "maxDatasets": <int>
23 }
24 ]
25 }
26 ],
27 "views" : [
28 {
29 "name" : "<string>",
30 "source" : "<string>",
31 "pipeline" : "<string>"
32 }
33 ]
34 }
35 ]
36}
37

A configuração JSON para armazenamentos de dados do Atlas Online Archive contém dois objetos de nível superior: stores e databases.

O objeto de armazenamentos define cada armazenamento de dados associado à instância do banco de dados federado. Este armazenamento captura documentos em um Atlas Online Archive. O Data Federation só pode acessar armazenamentos de dados definidos dentro do objeto de armazenamentos .

O objeto stores contém os seguintes campos:

1"stores" : [
2 {
3 "name" : "<string>",
4 "provider": "<string>",
5 "region": "<string>"
6 }
7]

A tabela a seguir descreve os campos no objeto stores:

Campo
Tipo
necessidade
Descrição
stores

array

necessário

Array de objetos em que cada objeto representa um armazenamento de dados a ser associado à instância do banco de dados federado. O instância do banco de dados federado armazena referências aos arquivos online do Atlas. O Atlas Data Federation só pode acessar armazenamentos de dados definidos no objeto stores.

stores.[n].name

string

necessário

Nome de armazenamento da instância do banco de dados federado . O campo databases.[n].collections.[n].dataSources.[n].storeName referencia este valor como parte da configuração de mapeamento.

stores.[n].provider

string

necessário

fornecedor de nuvem onde os dados do snapshot são armazenados. O valor deve ser dls:<subtype> para um snapshot. O Atlas Data Federation aceita os seguintes subtipos:

  • aws, para o qual o valor deve ser dls:aws
stores.[n].region

string

necessário

Nome da região do seu arquivo on-line. Cada armazenamento está associado a uma única região, onde os dados arquivados são armazenados. Se você tiver vários arquivos online em diferentes regiões, você deverá adicionar um armazenamento para cada região para mapear dados nessa região para bancos de dados virtuais e coleção na instância do banco de dados federado.

Para saber mais sobre as regiões suportadas para Amazon Web Services, consulte Regiões do Atlas Data Federation.

O objeto de bancos de dados define o mapeamento entre cada instância do banco de dados federado definido nas lojas e nas coleções MongoDB nos bancos de dados.

O objeto de banco de dados contém os seguintes campos:

1"databases" : [
2 {
3 "name" : "<string>",
4 "collections" : [
5 {
6 "name" : "<string>",
7 "dataSources" : [
8 {
9 "storeName" : "<string>",
10 "datasetName" : "<string>",
11 "datasetPrefix": "<string>",
12 "trimLevel": <int>,
13 "provenanceFieldName": "<string>",
14 "maxDatasets": <int>
15 }
16 ]
17 }
18 ],
19 "views" : [
20 {
21 "name" : "<string>",
22 "source" : "<string>",
23 "pipeline" : "<string>"
24 }
25 ]
26 }
27]

A tabela a seguir descreve os campos no objeto de banco de dados :

Campo
Tipo
necessidade
Descrição
databases

array

necessário

Array de objetos que definem o mapeamento entre cada instância do banco de dados federado definido no stores e arquivos online. Cada objeto representa um banco de dados, suas collections e, opcionalmente, quaisquer visualizações das collections. Cada banco de dados de dados pode ter vários objetos collections e views .

databases.[n].name

string

necessário

Nome do banco de dados para o qual o Atlas Data Federation mapeia os dados contidos no armazém de dados.

databases.[n].collections

array

necessário

Array de objetos em que cada objeto representa uma coleção e fontes de dados que mapeiam para um stores armazenamento de instância do banco de dados federado.

databases.[n].collections.[n].name

string

necessário

Nome da collection para a qual a Atlas Data Federation mapeia os dados contidos em cada databases.[n].collections.[n].dataSources.[n].storeName. Cada objeto na array representa o mapeamento entre a collection e um objeto na matriz stores.

Você pode gerar nomes de collection dinamicamente, especificando * para o nome da collection. Para gerar nomes de collection dinamicamente, você também deve especificar o seguinte:

Para coleções curinga, o Atlas Data Federation mapeia um nome de conjunto de dados para um nome de coleção primeiro dividindo o namespace em uma lista de campos no delimitador $ e, em seguida, cortando vários campos da esquerda da lista e, finalmente, combinando os campos restantes usando _.

databases.[n].collections.[n].dataSources

array

necessário

Array de objetos em que cada objeto representa um armazenamento de instância do banco de dados federado na array stores para mapear com a collection. Você pode especificar vários dataSources para uma coleção de curingas somente se todos os dataSources da coleção mapearem para o arquivo on-line stores.

databases.[n].collections.[n].dataSources.[n].storeName

string

necessário

Nome de um armazém de instância do banco de dados federado para mapear para o <collection>. Deve corresponder ao name de um objeto na array stores.

databases.[n].collections.[n].dataSources.[n].datasetName

string

necessário

Nome do conjunto de dados do arquivo on-line para mapear com a coleção. O datasetName está no seguinte formato:

<version>$<type>$<subtype>$<clusterName>$<dbName>$<collectionName>$<archiveId>

Por exemplo, considere o seguinte nome de arquivo online.

v1$atlas$archive$clusterName$dbName$collections$archiveId

Aqui:

  • v1 é a versão

  • atlas é o tipo de conjunto de dados

  • archive é o subtipo

  • clusterName é o nome do cluster do Atlas

  • dbName é o nome do reconhecimento de data center no cluster do Atlas

  • collection são as coleções no banco de banco de dados

  • archiveId é o identificador exclusivo dos dados arquivados

IMPORTANTE: Para uma coleção não wildcard, você não pode especificar essa opção se especificar a opção databases.[n].collections.[n].dataSources.[n].datasetPrefix porque o Atlas Data Federation gera automaticamente as coleções para o conjunto de dados mais recente usando o nome especificado na opção databases.[n].collections.[n].dataSources.[n].datasetPrefix.

databases.[n].collections.[n].dataSources.[n].datasetPrefix

string

Necessário para collection de curingas.

Prefixo do nome do conjunto de dados para corresponder ao nome do conjunto de dados do arquivo on-line. Quando você define isso para coleções curinga, o Atlas Data Federation mapeia as coleções apenas para os nomes de conjuntos de dados de arquivamento online cujo prefixo corresponda ao valor especificado aqui.

Se você especificar essa configuração para uma coleção não wildcard, o Atlas Data Federation mapeará somente o conjunto de dados mais recente (para o snapshot capturado mais recentemente) para a coleção. Você também não pode especificar o databases.[n].collections.[n].dataSources.[n].datasetName se especificar essa opção para uma collection não wildcard.

Por exemplo:

{
...,
"name": "myFederatedDbCollection",
"dataSources": [
{
"storeName": "aws-dl-store",
"datasetPrefix": "v1$atlas$archive$MyCluster$MyDB$MyArchiveId"
}
]
}
databases.[n].collections.[n].dataSources.[n].trimLevel

inteiro

necessário

Inteiro não assinado que especifica quantos campo do nome do conjunto de dados devem ser cortados da esquerda do nome do conjunto de dados antes de mapear os campo restantes para um nome de collection curinga. O valor deve ser maior que 0 e menor que 7. Você pode definir essa configuração apenas para collection de curingas.

Você não pode definir esta configuração utilizando o Editor Visual na UI do Atlas. Portanto, essa configuração tem como padrão o nível de ajuste 5 para configurações usando o Editor Visual.

databases.[n].collections.[n].dataSources.[n].provenanceFieldName

string

necessário

Nome do campo que inclui a procedência dos documentos nos resultados. Se você especificar esta configuração na configuração de armazenamento, o Atlas Data Federation retornará os seguintes campos para cada documento no resultado:

Nome do campo
Descrição

provider

Provedor (stores.[n].provider) na configuração de armazenamento da instância do banco de dados federado

clusterName

Nome do cluster do Atlas

databaseName

Nome do reconhecimento de data center no cluster do Atlas

collectionName

Nome da collection

snapshotID

String exclusiva de 24 caracteres hexadecimais que identifica o snapshot

dataSetName

Nome do conjunto de dados do arquivo onlinedatabases.[n].collections.[n].dataSources.[n].datasetName()

Você não pode definir esta configuração utilizando o Editor Visual na UI do Atlas.

databases.[n].collections.[n].dataSources.[n].maxDatasets

inteiro

necessário

Inteiro não assinado que especifica o número máximo de conjuntos de dados a partir dos quais gerar collection dinamicamente para o conjunto de dados. Você deve fornecer um valor maior que 0. Você pode definir essa configuração apenas para collection de curingas. O Atlas Data Federation retorna conjuntos de dados em ordem lexicográfica inversa.

IMPORTANTE: Você não pode definir esta configuração utilizando o Editor Visual na IU do Atlas. Portanto, a configuração do Atlas Data Federation não inclui um limite do número de datasets para configurações usando o Editor Visual.

Considere um Atlas Online Archive suportado pela Amazon Web Services com o seguinte ID:

v1$atlas$archive$V3metrics$hardware$69437250-b9da-4ae9-a1cd-8811462c38a4$64679f7c09f07374b4dcc914

O Atlas Online Archive contém os dados arquivados do metrics.hardware em um cluster do Atlas. A configuração a seguir:

  • Especifica o Atlas Online Archive na região us-east-1 da Amazon Web Services como um armazenamento de instância do banco de dados federado.

  • Mapeia documento do Atlas Online Archive para a collection dataCenter.inventory na configuração de armazenamento.

{
"stores" : [
{
"name" : "atlasOnlineArchiveStore",
"provider" : "dls:aws",
"region" : "us-east-1"
}
],
"databases" : [
{
"name" : "dataCenter",
"collections" : [
{
"name" : "inventory",
"dataSources" : [
{
"storeName" : "atlasOnlineArchiveStore",
"datasetName" : "v1$atlas$archive$V3metrics$hardware$69437250-b9da-4ae9-a1cd-8811462c38a4$64679f7c09f07374b4dcc914",
"provider" : "dls:aws"
}
]
}
]
}
]
}

Observação

Como a Amazon Web Services apoia o Atlas Online Archive, o provider é configurado para dls:aws no exemplo. Se o Azure apoiasse o arquivo online, o provider seria dls:azure.

O Atlas Data Federation mapeia todos os documento no Atlas Online Archive para a collection dataCenter.inventory na configuração de armazenamento.

Os usuários conectados à instância do reconhecimento de data center federado podem usar a query de MongoDB e agregações compatíveis para analisar dados no cluster do Atlas por meio da collection dataCenter.inventory .