transactionToDedicatedConfigServer
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 aplicação , além dos metadadoscluster fragmentado . Um servidor de configuração que armazena dados de aplicação é chamado de shard 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.
Se o seu aplicação tiver requisitos rigorosos de disponibilidade e resiliência, considere implementar um servidor de configuração dedicado. Um servidor de configuração dedicado oferece isolamento, recursos dedicados e desempenho consistente para operações críticas de cluster.
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 os dados do aplicação do shard de configuração para os outros shards no cluster da mesma maneira que o comando removeShard
move os dados.
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.