enableSharding
Definição
enableSharding
O
enableSharding
comando habilita a fragmentação no banco de banco de dados especificado. Depois de ativar a fragmentação para um banco de dados de dados, você pode usar oshardCollection
comando para fragmentar collections nesse banco de dados de dados.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()
.