Definição
Novidades na versão 8.0.
A partir do MongoDB 8.0, você pode:
Configure um servidor de configuração para armazenar os dados do seu aplicativo, além dos metadados usuais do cluster fragmentado. Um servidor de configuração que armazena dados do aplicativo é chamado de fragmento de configuração.
Faça a transição de um servidor de configuração entre um shard de configuração e um servidor de configuração dedicado.
Um cluster exige um servidor de configuração, mas ele pode ser um fragmento de configuração em vez de 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 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 alguns recursos exigem. Para saber qual implantação se encaixa no seu cluster, consulte Casos de uso de shard de configuração.
O comando transitionToDedicatedConfigServer configura um shard de configuração para ser executado como um servidor de configuração dedicado. O comando faz com que o balanceador priorize a movimentação dos chunks do shard de configuração para outros shards no cluster.
Antes de executar transitionToDedicatedConfigServer, conecte-se a mongos e use o banco de banco de dados admin.
O cluster fragmentado deve ter featureCompatibilityVersion definido para pelo menos 8.0.
Sintaxe
Sintaxe do comando:
db.adminCommand( { transitionToDedicatedConfigServer: 1 } )
Comportamento
O comando transitionToDedicatedConfigServer move dados do aplicação do shard de configuração para os outros shards da mesma maneira que removeShard move dados. O balanceador move dados de coleta fragmentados para outros fragmentos elegíveis no cluster. Você deve mover dados de coleta e bancos de dados não fragmentados para um fragmento de sua escolha no cluster. Para obter o procedimento de remoção de um fragmento de configuração, consulte Remover fragmentos de um cluster fragmentado.
Internamente, o transitionToDedicatedConfigServer executa o comando removeShard . transitionToDedicatedConfigServer retorna a mesma resposta que removeShard. A resposta após uma movimentação de dados bem-sucedida contém state: "completed". Para obter detalhes e exemplos completos de respostas, consulte Exemplo de removeShard. Revise a documentação do removeShard antes de executar o transitionToDedicatedConfigServer para entender como ela pode afetar seu sistema.
Se você executar transitionToDedicatedConfigServer duas vezes e os dados do fragmento estiverem sendo movidos para outros shards, a segunda execução do transitionToDedicatedConfigServer retornará o status atual da movimentação de dados. transitionToDedicatedConfigServer retorna a mesma resposta que removeShard.
Após transitionToDedicatedConfigServer concluir a transferência de dados, o servidor de servidor de configuração é um servidor de configuração dedicado e não é mais um fragmento de configuração.
Controle de acesso
Se o controle de acesso estiver habilitado, o comando transitionToDedicatedConfigServer exigirá a ação de autorização transitionToDedicatedConfigServer para o cluster:
{ resource: { cluster : true }, actions: [ "transitionToDedicatedConfigServer" ] }
A função clusterManager tem ação de autorização transitionToDedicatedConfigServer e pode ser atribuída a um usuário.
O exemplo a seguir atribui a função clusterManager a um usuário chamado testUser:
db.grantRolesToUser( "testUser", [ "clusterManager" ] )
Exemplo
O exemplo a seguir configura um shard de configuração para ser executado como um servidor de configuração dedicado:
db.adminCommand( { transitionToDedicatedConfigServer: 1 } )
Para obter detalhes, consulte Fazer Downgrade da Versão de Compatibilidade de Funcionalidades.