Definição
enableShardingO
enableShardingcomando habilita a fragmentação no banco de dados especificado. Depois de ativar a fragmentação para um banco de dados, você pode usar o comando para fragmentar collections nesse banco deshardCollectiondados.Dica
Em
mongosh, esse comando também pode ser executado por meio do método auxiliarsh.enableSharding().Os métodos auxiliares são práticos para os usuários
mongosh, mas podem não retornar o mesmo nível de informações que os comandos do banco de dados. Nos casos em que a praticidade não for necessária ou os campos de retorno adicionais forem necessários, use o comando de banco de dados.
Compatibilidade
Esse comando está disponível em implantações hospedadas nos seguintes ambientes:
MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem
Importante
Este comando não é suportado em instâncias sem servidor. Para obter mais informações, consulte Comandos não suportados.
MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB
MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB
Sintaxe
O comando enableSharding tem a seguinte sintaxe:
Recomendado. Especifique apenas o banco de dados de dados para o qual deseja habilitar a fragmentação.
db.adminCommand( { enableSharding: "<database name>" } ) Opcionalmente, você pode incluir a especificação de shard primário no comando, embora isso não seja recomendado:
db.adminCommand( { enableSharding: "<database name>", primaryShard: "<shard name>" } )
Você só pode executar enableSharding no banco de dados admin a partir de uma instância mongos .
Campos
O comando utiliza os seguintes campos:
Campo | Tipo | Descrição |
|---|---|---|
String | O reconhecimento de data center para o qual você deseja habilitar a fragmentação. | |
String | Opcional. O primary shard do banco de dados; o contém a collection não fragmentada desse banco de dados. Em geral, em vez de especificar explicitamente o primary shard, é recomendável deixar o balancer selecioná-lo. AvisoDicaEm geral, não é necessário especificar o primary shard. Permita que o balancer selecione o primary shard. |
Devoluções
O comando retorna um documento que contém o status da operação.
Comportamento
Escreva preocupação
mongos utiliza "majority" para o comando enableSharding e seu auxiliar sh.enableSharding().
Primary shard
Em geral, não é preciso especificar o primaryShard no comando. Em vez disso, permita que o balanceador selecione o fragmento primário.
No entanto, se você especificar o primaryShard no comando de um banco de dados e o banco de dados já estiver habilitado para fragmentação com outro primary shard diferente, a operação retornará um erro, e o primary shard do banco de dados permanecerá como antes. Para alterar o primary shard de um banco de dados, use movePrimary em vez disso.
Exemplo
O seguinte comando, executado a partir de um mongos, habilita a fragmentação para o banco de dados do test :
db.adminCommand( { enableSharding: "test" } )
Para verificar, execute sh.status().