Página inicial do Docs → Desenvolver aplicações → Manual do MongoDB
Perguntas frequentes: Compartilhamento com MongoDB
Nesta página
- A fragmentação é apropriada para uma nova implantação?
- Posso selecionar uma chave de shard diferente depois de fragmentar uma collection?
- Por que meus documentos não são distribuídos entre os shards?
- Como o
mongos
detecta alterações na configuração do cluster fragmentado? - O que significa
writebacklisten
no registro? - Como o
mongos
utiliza conexões?
Este documento responde a perguntas frequentes sobre fragmentação. Consulte também a seção Fragmentação no manual, que fornece uma visão geral da fragmentação, incluindo detalhes sobre:
Chaves de shard e considerações para seleção de chave de shard
Partição de dados com chunks e processo de migração de chunks
A fragmentação é apropriada para uma nova implantação?
Às vezes. No entanto, se o seu conjunto de dados couber em um único servidor, você deverá começar com uma implantação não fragmentada, pois a fragmentação enquanto seu conjunto de dados é pequeno oferece pouca vantagem .
Posso selecionar uma chave de shard diferente depois de fragmentar uma collection?
Suas opções para alterar uma chave de shard dependem da versão do MongoDB que você está executando:
A partir do MongoDB 5.0, você pode fazer o reshard de uma collection alterando a chave de shard de um document.
Você pode refinar uma chave de shard adicionando um ou mais campos de sufixo à chave de shard existente.
Dica
Veja também:
Por que meus documentos não são distribuídos entre os shards?
O balancer começa a distribuir dados entre os shards quando a distribuição de chunks atinge determinados limites. Consulte Limites de Migração.
Além disso, o MongoDB não poderá mover uma parte se o número de documento na parte exceder um determinado número. Consulte o número máximo de documento por parte para migração e parte indivisíveis/parte jumbo.
Como o mongos
detecta alterações na configuração do cluster fragmentado?
As instâncias mongos
mantêm um cache do banco de dados de configuração que contém os metadados do cluster fragmentado.
mongos
atualiza seu cache preguiçosamente emitindo uma solicitação para um shard e descobrendo que seus metadados estão desatualizados. Para forçar o mongos
para recarregar seu cache, você pode executar o comando flushRouterConfig
em cada mongos
diretamente.
O que significa writebacklisten
no registro?
O ouvinte de write-back é um processo que abre uma longa pesquisa para retransmitir as gravações de volta de um mongod
ou mongos
após as migrações para garantir que elas não tenham ido para o servidor errado. O ouvinte de write-back envia as gravações de volta para o servidor correto, se necessário.
Essas mensagens são uma parte fundamental da infraestrutura de fragmentação e não devem causar preocupação.
Como o mongos
utiliza conexões?
Cada instância do mongos
mantém um conjunto de conexões para os membros do cluster fragmentado. As solicitações do cliente usam essas conexões uma de cada vez; ou seja, as solicitações não são multiplexadas ou pipelined.
Quando as solicitações do cliente forem concluídas, o mongos
retornará a conexão com o pool. Esses pools não diminuem quando o número de clientes diminui. Isto pode levar a um mongos
não utilizado com um grande número de conexões abertas. Se o mongos
não estiver mais em uso, é seguro reiniciar o processo para fechar as conexões existentes.
Para retornar estatísticas agregadas relacionadas a todos os pools de conexão de saída usados pelo mongos
, conecte mongosh
ao mongos
e execute o comando connPoolStats
:
db.adminCommand("connPoolStats");
Consulte a seção Utilização de recursos do sistema do documento Configurações do UNIX ulimit
.