Para indexação, o MongoDB Search conta cada documento como um único objeto de índice quando não está aninhado dentro de outro documento. Para documentos incorporados, o MongoDB Search conta cada documento incorporado como objetos de índice adicionais, dependendo do número de níveis de aninhamento. O MongoDB Search para de replicar alterações para índices maiores que 2,100,000,000 objetos de índice.
Se você implantar o MongoDB Search em nó de pesquisa separados, pode aumentar o número de objeto de índice do MongoDB Search particionamento seu índice. Por padrão, o MongoDB Search suporta uma partição por shard. Cada partição suporta até 2,000,000,000 objetos de índice. Você pode criar um índice com até quatro (4) partições utilizando a opção numPartitions. Essas partições representam um único índice com suporte para até 8B documentos por cluster ou shard.
Quando você configura partições para seu índice, o MongoDB Search distribui automaticamente os objetos de índice entre as partições de maneira ideal. Quando você executa query em uma coleção com partições de índice, o MongoDB Search dispersa as query em todas as partições e reúne os resultados da pesquisa e metadados para classificar, mesclar e retornar os resultados. Se você definir concorrente como true em sua query, o MongoDB Search executará a query simultaneamente em todas as partições para melhorar o desempenho.
Recomendamos o particionamento do seu índice quando:
Seus objetos de índice atingem 50% do limite total.
O número de documentos em sua coleção chega a 2,000,000,000.
Seu índice contém até 8,000,000,000 documentos.
Seu índice está no estado
STALEporque o MongoDB Search interrompeu a replicação.
Observação
Monitore o tamanho do índice e as partições. Se o seu índice exceder o limite, o MongoDB Search interromperá a replicação das alterações, resultando em dados obsoletos. Você é responsável por aumentar o número de partições antes de atingir esse limite. Em casos raros, o pessoal do MongoDB pode ajustar partições em seu nome, o que aciona uma reconstrução de índice e pode aumentar a latência da consulta.
Quando você configura partições ou modifica o número de partições, o MongoDB Search aciona uma reconstrução do seu índice.
Se você tiver mais de uma partição em seu cluster, não poderá remover todos os nós de pesquisa e migrar para um modelo de sistema em que os processos mongod e mongot são executados no mesmo nó.
Sintaxe
1 { 2 "numPartitions": <integer> 3 }
Valores suportados
A opção MongoDB Search numPartitions obtém os seguintes valores:
1- para criar um único índice, sem partições adicionais. Este é o valor padrão.2- para criar até duas partições para até 4,000,000,000 documentos.4- para criar até quatro partições para até 8,000,000,000 documentos.
Exemplo
O exemplo de índice seguinte utiliza a collection sample_mflix.movies para demonstrar como configurar até 4 partições para os dados na collection. Você pode utilizar o Editor Visual ou o Editor JSON na UI do Atlas e outros clientes compatíveis para criar o índice.