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

Fragmento de configuração

A partir do MongoDB 8.0, você pode configurar um servidor de configuração de configuração para armazenar os dados do aplicação , além dos metadados usuais do cluster fragmentado . Um nó mongod que oferece funcionalidade de servidor de servidor de configuração de shard é chamado de shard de configuração. Um nó do mongod que executa como um --configsvr autônomo sem funcionalidade de servidor de fragmento é chamado de servidor de configuração dedicado.

Um cluster fragmentado deve ter um servidor de configuração, mas pode ser um shard de configuração ( servidor de configuração incorporado) ou um servidor de configuração dedicado. Usar um shard de configuração reduz o número de nós necessários e pode simplificar seu sistema. Um cluster de shard de configuração também é chamado de cluster de servidor de configuração incorporado. Você não pode usar o mesmo servidor de configuração para vários clusters fragmentados.

Um shard de configuração custa menos do que um servidor de configuração dedicado porque um servidor de configuração dedicado é executado como seu próprio conjunto de réplicas. Um shard de configuração combina a função de servidor de configuração em um conjunto de réplicas de um shard existente, para que seu cluster precise de um conjunto de réplicas em vez de dois. O uso de um shard de configuração não tem impacto mensurável no desempenho em baixas contagens de shard. Um servidor de configuração dedicado isola os metadados do cluster dos dados do aplicativo, o que certos recursos exigem.

Use um servidor de configuração dedicado se você usar um ou mais dos seguintes recursos:

No MongoDB Atlas, um cluster faz a transição automática de um shard de configuração para um servidor de configuração dedicado quando o cluster tem mais de cinco shards.

Em um cluster de servidor de configuração incorporado, um fragmento de configuração será usado para armazenar metadados do cluster e dados do usuário. Ajuda a reduzir a complexidade de um cluster fragmentado .

Você pode armazenar dados de collection fragmentados e não fragmentados em seu shard de configuração. Ele tem todas as propriedades de um shard , além de atuar como servidor de configuração.

Você pode confirmar que um cluster fragmentado usa um fragmento de configuração usando um dos seguintes métodos:

  • Execute o método sh.isConfigShardEnabled() em mongosh. Se a saída sh.isConfigShardEnabled() contiver enabled: true, o cluster utilizará um fragmento de configuração. Se a saída contiver enabled: false, o cluster não usará um fragmento de configuração.

  • Execute o comando listShards no banco de dados do admin enquanto conectado a um mongos e inspecione a saída de um documento onde o _id está configurado para "config". Se a saída listShards não contiver um documento em que _id esteja definido como "config", o cluster não usará um fragmento de configuração.

O exemplo a seguir executa o comando listShards e tenta localizar um documento em que _id está definido como "config".

db.adminCommand({ listShards: 1 })["shards"].find(element => element._id === "config")

Neste exemplo, o documento retornado tem _id definido como "config", o que confirma que esse cluster usa um shard de configuração.

{
_id: "config",
host: "configRepl/localhost:27018",
state: 1,
topologyTime: Timestamp({ t: 1732218671, i: 13 }),
replSetConfigVersion: Long('-1')
}

Para configurar um servidor de configuração dedicado para ser executado como um shard de configuração, execute o comando transitionFromDedicatedConfigServer .

Para configurar um shard de configuração para ser executado como um servidor de configuração dedicado, execute o comando transitionToDedicatedConfigServer .