Menu Docs
Página inicial do Docs
/
Manual do banco de dados
/ / /

Distribuir dados de collection

A fragmentação de uma collection distribui seus documentos em vários shards em seu cluster MongoDB . O MongoDB usa sua chave de shard especificada para determinar com precisão onde cada documento pertence. A escolha de uma chave de shard eficaz é fundamental, garantindo a distribuição uniforme de dados e o balanceamento de volume de trabalho em todos os shards disponíveis. Essa abordagem se torna essencial quando as collections ficam muito grandes para um único shard lidar com eficiência. Uma vez fragmentado, o MongoDB distribui automaticamente a coleção em todos os fragmentos disponíveis de acordo com sua estratégia de fragmentação escolhida.

Você deve considerar a fragmentação de uma collection ao se aproximar de determinados limites de recursos ou de desempenho.

Se o conjunto de trabalho de uma collection couber na RAM, o MongoDB atenderá consultas da memória, que fornece os tempos de resposta de consulta mais rápidos. Quando o conjunto de trabalho cresce além da memória disponível, as latências de consulta aumentam devido ao maior acesso ao disco. A fragmentação de uma collection melhora o desempenho da query ao distribuir os dados em vários shards, em que cada shard mantém seus próprios índices de dados.

Se sua coleção contiver 3TB de dados ou mais, considere fragmentá-las para otimizar o desempenho.

Ao fragmentar uma collection no MongoDB, você pode escolher entre as seguintes opções de distribuição:

Opção
Descrição

A fragmentação à distância usa um ou mais campos de documento para determinar a colocação dos dados. Dados com valores de chave de shard semelhantes são armazenados no mesmo shard, otimizando queries baseadas em intervalo. Essa abordagem funciona melhor quando seus padrões de acesso incluem operações de faixa.

A fragmentação por hash calcula um valor de hash do seu campo especificado e distribui dados aleatoriamente entre os fragmentos. Embora útil para a escalabilidade de escrita, essa abordagem pode impacto o desempenho das queries baseadas em intervalo, uma vez que dados logicamente adjacentes podem residir em shards diferentes.

A fragmentação por zona distribui coleções em um subconjunto específico de fragmentos, em vez de todo o cluster. Essa abordagem é ideal quando as collections excedem a capacidade de um único shard, mas exigem posicionamento estratégico – seja pela proximidade geográfica dos usuários, pela otimização de padrões de acesso distintos com hardware especializado ou pela manutenção da conformidade normativa por meio do controle da localização dos dados.

Ao fragmentar uma coleção, você deve:

Voltar

Gerenciar collections não fragmentadas

Nesta página