Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Config Database

As collections no suporte do banco de dados config:

Observação

Clusters fragmentados podem mostrar collection diferentes no reconhecimento de data center config , dependendo se você se conecta a mongos ou mongod:

Quando um servidor de configuração e um fragmento são hospedados no mesmo nó, mongos pode ter acesso a algumas collection locais do fragmento no reconhecimento de data center config .

Starting in MongoDB 5.0, non-transaction reads are not allowed on the config.transactions collection with the following read concerns and options:

Importante

O esquema do banco de dados do config é interno e pode mudar entre versões do MongoDB. O banco de dados config não é uma API confiável, e os usuários não devem gravar dados no banco de dados config durante a operação ou manutenção normal.

Observação

Não é possível executar operações de leitura/gravação nas collections do banco de dados config em uma transação de vários documentos.

To access the config database and view the list of collections that support sharding operations, connect mongosh to a mongos instance in a sharded cluster and issue the following:

use config
show collections

Observação

Se estiver executando com controle de acesso, certifique-se de ter privilégios que concedam a ação listCollections no banco de dados.

O banco de dados de configuração é principalmente para uso interno e, durante operações normais, você nunca deve inserir ou armazenar dados manualmente nele. No entanto, se você precisar verificar a disponibilidade de gravação do servidor de configuração para um cluster fragmentado, poderá inserir um documento em uma collection de teste (depois de verificar se nenhuma collection desse nome já existe):

Aviso

Modification of the config database on a functioning system may lead to instability or inconsistent data sets. If you must modify the config database, use mongodump to create a full backup of the config database.

db.testConfigServerWriteAvail.insertOne( { a : 1 } )

Se a operação for bem-sucedida, o servidor de configuração estará disponível para processar gravações.

Versões futuras do servidor podem incluir collections diferentes no banco de dados de configuração, portanto, tenha cuidado ao selecionar um nome para sua collection de teste.

O MongoDB utiliza as seguintes collections no banco de dados do config para suportar a fragmentação:

config.changelog

Dica

Metadados MongoDB internos

The config database is internal. Applications and administrators should not modify or depend on its content during normal operation.

The changelog collection stores a document for each change to the metadata of a sharded collection.

Exemplo

The following example displays a single record of a chunk split from a changelog collection:

{
"_id" : "<hostname>-<timestamp>-<increment>",
"server" : "<hostname><:port>",
"clientAddr" : "127.0.0.1:63381",
"time" : ISODate("2012-12-11T14:09:21.039Z"),
"what" : "split",
"ns" : "<database>.<collection>",
"details" : {
"before" : {
"min" : {
"<database>" : { $minKey : 1 }
},
"max" : {
"<database>" : { $maxKey : 1 }
},
"lastmod" : Timestamp(1000, 0),
"lastmodEpoch" : ObjectId("000000000000000000000000")
},
"left" : {
"min" : {
"<database>" : { $minKey : 1 }
},
"max" : {
"<database>" : "<value>"
},
"lastmod" : Timestamp(1000, 1),
"lastmodEpoch" : ObjectId(<...>)
},
"right" : {
"min" : {
"<database>" : "<value>"
},
"max" : {
"<database>" : { $maxKey : 1 }
},
"lastmod" : Timestamp(1000, 2),
"lastmodEpoch" : ObjectId("<...>")
},
"owningShard" : "<value>"
}
}

Each document in the changelog collection contains the following fields:

config.changelog._id

O valor de changelog._id é: <hostname>-<timestamp>-<increment>.

config.changelog.server

O nome do host do servidor que contém esses dados.

config.changelog.clientAddr

Uma cadeia de caracteres que contém o endereço do cliente, uma instância mongos que inicia essa alteração.

config.changelog.time

Um carimbo de data/hora ISODate que reflete quando a alteração ocorreu.

config.changelog.what

O tipo de alteração gravada. Os valores possíveis incluem:

  • dropCollection

  • dropCollection.start

  • dropDatabase

  • dropDatabase.start

  • moveChunk.start

  • moveChunk.commit

  • split

  • multi-split

config.changelog.ns

Namespace onde ocorreu a mudança.

config.changelog.details

A document that contains additional details for the change. The structure of the details document depends on the type of change.

config.chunks

Dica

Metadados MongoDB internos

The config database is internal. Applications and administrators should not modify or depend on its content during normal operation.

The config.chunks collection stores a document for each chunk in the cluster. The following example shows a document:

{
_id: ObjectId('65a954c0de11596e08e7c1dc'),
uuid: UUID('a4479215-a38d-478f-a82b-e5e95d455e55'),
min: { a: Long('121204345') },
max: { a: Long('993849349') },
shard: 'shard01',
lastmod: Timestamp({ t: 1, i: 0 }),
history: [
{
validAfter: Timestamp({ t: 1705596095, i: 14 }),
shard: 'shard01'
}
]
}

No documento:

  • _id é o identificador de parte.

  • min e max são os intervalos de valores das chaves de fragmento da parte.

  • shard é o nome do fragmento que armazena a parte no cluster.

Dica

To find the chunks in a collection, retrieve the collection's uuid identifier from the config.collections collection. Then, use uuid to retrieve the matching document with the same uuid from the config.chunks collection.

config.collections

Dica

Metadados MongoDB internos

The config database is internal. Applications and administrators should not modify or depend on its content during normal operation.

The collections collection stores a document for each sharded collection in the cluster. Given a collection named pets in the records database, a document in the collections collection would resemble the following:

{
"_id" : "records.pets",
"lastmod" : ISODate("2021-07-21T15:48:15.193Z"),
"timestamp": Timestamp(1626882495, 1),
"key" : {
"a" : 1
},
"unique" : false,
"lastmodEpoch" : ObjectId("5078407bd58b175c5c225fdc"),
"uuid" : UUID("f8669e52-5c1b-4ea2-bbdc-a00189b341da")
}
config.csrs.indexes

Novidades na versão 7.0.

Dica

Metadados MongoDB internos

The config database is internal. Applications and administrators should not modify or depend on its content during normal operation.

The indexes collection stores a document for each global index available on a shard.

Cada documento na collection contém os seguintes campos:

Campo
Tipo de Dados
Descrição

name

String

Nome do índice global.

keyPattern

Documento

Especificação da chave de índice.

options

Documento

Fornece informações sobre as opções de índice especificadas, incluindo se o índice é um índice global.

lastmod

Timestamp

Registro de data/hora que fornece informações sobre quando o índice foi modificado pela última vez e a versão do índice.

collectionUUID

UUID

UUID da coleção fragmentada.

indexCollectionUUID

UUID

UUID da coleção secundária que rastreia o índice global.

config.databases

Dica

Metadados MongoDB internos

The config database is internal. Applications and administrators should not modify or depend on its content during normal operation.

The databases collection stores a document for each database in the cluster.

Para cada banco de dados, o documento correspondente exibe o nome, o primary shard do banco de dados, o status habilitado de fragmentação do banco de dados e uma versão.

{ "_id" : "test", "primary" : "shardA", "partitioned" : true, "version" : { "uuid" : UUID("516a5f79-5eb9-4844-8ee9-b8e9de91b760"), "timestamp" : Timestamp(1626894204, 1), "lastMod" : 1 } }
{ "_id" : "hr", "primary" : "shardA", "partitioned" : false, "version" : { "uuid" : UUID("8e39d61d-6259-4c33-a5ed-bcd2ae317b6f"), "timestamp" : Timestamp(1626895015, 1), "lastMod" : 1 } }
{ "_id" : "reporting", "primary" : "shardB", "partitioned" : false, "version" : { "uuid" : UUID("07c63242-51b3-460c-865f-a67b3372d792"), "timestamp" : Timestamp(1626895826, 1), "lastMod" : 1 } }

O método sh.status() retorna essas informações na seção Bancos de dados .

config.migrationCoordinators

The migrationCoordinators collection exists on each shard and stores a document for each in-progress chunk migration from this shard to another shard. The chunk migration fails if the document cannot be written to a majority of the members of the shard's replica set.

Quando uma migração é concluída, o documento que descreve a migração é excluído da collection.

config.mongos

Dica

Metadados MongoDB internos

The config database is internal. Applications and administrators should not modify or depend on its content during normal operation.

The mongos collection stores a document for each mongos instance affiliated with the cluster. The cluster maintains this collection for reporting purposes.

Each document in the mongos collection contains these fields:

Campo
Tipo de Dados
Descrição

_id

String

O nome do host e a porta onde o mongos está sendo executado. O _id está formatado como <hostname>:<port>.

advisoryHostFQDNs

Array de strings

Array dos FQDNs (Fully Qualified Domain Names, Nomes de domínio totalmente qualificados) do mongos.

created

Data

Quando o mongos foi iniciado.

Novidades na versão 5.2.

mongoVersion

String

Versão do MongoDB que o mongos está executando.

ping

Data

As instâncias mongos enviam pings para o servidor de configuração a cada 30 segundos. Este campo indica a hora do último ping.

up

Número longo

Número de segundos em que mongos esteve ativo desde o último ping.

waiting

Boolean

Esse campo é sempre true e só é incluído para fins de compatibilidade com versões anteriores.

O documento a seguir mostra o status do mongos em execução no example.com:27017.

[
{
_id: 'example.com:27017',
advisoryHostFQDNs: [ "example.com" ],
created: ISODate("2021-11-22T16:32:13.708Z"),
mongoVersion: "5.2.0",
ping: ISODate("2021-12-15T22:09:23.161Z"),
up: Long("2007429"),
waiting: true
}
]
config.placementHistory

Dica

Metadados MongoDB internos

The config database is internal. Applications and administrators should not modify or depend on its content during normal operation.

The placementHistory collection exists on the config server and records which shards contained data for a database or collection at specific cluster timestamps. MongoDB uses this information to reconstruct historical data placement.

For a collection named myCollection in the test database, a document in the placementHistory collection would resemble the following:

{
_id: ObjectId("61e0a1f4e5b8c9d0a1b2c3d4"),
nss: "test.myCollection",
collUuid: UUID("07c63242-51b3-460c-865f-a67b3372d792"),
timestamp: Timestamp(1626895826, 1),
shards: [ "shardA", "shardB" ]
}

O campo nss pode conter um namespace ou um nome de banco de dados. O campo collUuid está presente apenas para coleções.

config.rangeDeletions

The rangeDeletions collection exists on each shard and stores a document for each chunk range that contains orphaned documents. The chunk migration fails if the document cannot be written to a majority of the members of the shard's replica set.

Quando a faixa de chunks órfãos é limpa, o documento que descreve a faixa é excluído da collection.

config.settings

Dica

Metadados MongoDB internos

The config database is internal. Applications and administrators should not modify or depend on its content during normal operation.

A coleção settings contém as seguintes configurações de sharding:

  • Tamanho do intervalo. Para alterar o tamanho do intervalo, consulte Modificar o Tamanho do Intervalo em um Cluster Fragmentado. O valor chunksize especificado está em megabytes.

  • Configurações do Balanceador. Para alterar as configurações do balanceador, incluindo o status do balanceador, consulte Gerenciar balanceador de cluster fragmentado.

  • Autosplit:

    A partir do MongoDB 6.0.3, a divisão automática de partes não é executada. Isso se deve a melhorias na política de balanceamento. Os comandos de divisão automática ainda existem, mas não executam uma operação.

    Em versões anteriores ao MongoDB 6.1:

Documentos de exemplo na collection settings:

{ "_id" : "chunksize", "value" : 64 }
{ "_id" : "balancer", "mode" : "full", "stopped" : false }
config.shards

Dica

Metadados MongoDB internos

The config database is internal. Applications and administrators should not modify or depend on its content during normal operation.

A coleção shards representa cada shard no cluster em um documento separado, como a seguir:

{ "_id" : "shard0000", "host" : "localhost:30000", "state" : 1 }

Se o shard for um conjunto de réplicas, o campo host exibirá o nome do conjunto de réplicas, depois uma barra e, em seguida, uma lista separada por vírgulas dos nomes de host de cada membro do conjunto de réplicas, como no exemplo a seguir:

{ "_id" : "shard0001", "host" : "shard0001/localhost:27018,localhost:27019,localhost:27020", "state" : 1 }

Se o shard tiver zonas atribuídas, este documento terá um campo tags , que contém uma array das zonas às quais está atribuído, como no exemplo a seguir:

{ "_id" : "shard0002", "host" : "localhost:30002", "state" : 1, "tags": [ "NYC" ] }
config.tags

Dica

Metadados MongoDB internos

The config database is internal. Applications and administrators should not modify or depend on its content during normal operation.

The tags collection holds documents for each zone range in the cluster. The documents in the tags collection resemble the following:

{
"_id" : { "ns" : "records.users", "min" : { "zipcode" : "10001" } },
"ns" : "records.users",
"min" : { "zipcode" : "10001" },
"max" : { "zipcode" : "10281" },
"tag" : "NYC"
}
config.version

Dica

Metadados MongoDB internos

The config database is internal. Applications and administrators should not modify or depend on its content during normal operation.

The version collection holds the current metadata version number. This collection contains only one document. For example:

{ "_id" : 1, "minCompatibleVersion" : 5, "currentVersion" : 6, "clusterId" : ObjectId("5d8bc01a690d8abbd2014ddd") }

To access the version collection, you must use the db.getCollection() method. For example, to retrieve the collection's document:

db.getCollection("version").find()

O banco de dados config contém as coleções internas para oferecer suporte a sessões causalmente consistentes para autônomos, conjuntos de réplicas e clusters fragmentados, gravações repetíveis e transações para conjuntos de réplicas e clusters fragmentados.

Aviso

Não modifique ou solte manualmente essas collections.

To access these collections for a mongod or mongos instance, connect mongosh to the instance.

config.system.sessions

A collection do system.sessions armazena registros de sessão que estão disponíveis para todos os membros do sistema.

Quando um usuário cria uma sessão em uma instância mongod ou mongos, o registro da sessão existe inicialmente apenas na memória da instância. Periodicamente, a instância sincronizará suas sessões em cache com a collection system.sessions; nesse momento, elas estarão visíveis para todos os membros da implantação.

Para visualizar registros na collection system.sessions, utilize $listSessions.

Aviso

Não modifique ou elimine manualmente a collection system.sessions.

Em um cluster fragmentado, a collection system.sessions é fragmentada.

Ao adicionar um shard ao cluster fragmentado, se o shard a ser adicionado já contiver sua própria collection system.sessions, o MongoDB soltará a collection system.sessions do novo shard durante o processo de adição.

config.transactions

A collection transactions armazena registros usados para suportar retryable writes e transações que podem ser repetidas para conjuntos de réplicas e cluster fragmentados .

Aviso

Não modifique ou elimine manualmente a collection transactions.