MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

limites de número de coleções em bancos de dados


Esta resposta está atrasada, no entanto, as outras respostas parecem um pouco ... fracas em termos de confiabilidade e informações factuais, então tentarei remediar isso um pouco.

Mas, por algum motivo, o mongodb definiu o limite 24000 para o número de namespaces no banco de dados,

Essa é apenas a configuração padrão. Sim, há uma configuração padrão.

Ele diz na página de limites que 24000 é o limite ( http://docs.mongodb.org/manual/reference/limits/#Number%20of%20Namespaces ), como se não houvesse como expandir isso, mas existe.

No entanto, há um limite máximo para o tamanho de um arquivo de namespace ( http://docs.mongodb.org/manual/reference/limits/#Size%20of%20Namespace%20File ), que é de 2 GB. Isso lhe dá aproximadamente 3 milhões de namespaces para jogar na maioria dos casos, o que é bastante impressionante e não tenho certeza se muitas pessoas atingirão esse limite rapidamente.

Você pode modificar o valor padrão para maior que 16 MB usando o parâmetro nssize dentro da configuração ( http://docs.mongodb.org/manual/reference/configuration-options/#nssize ) ou em tempo de execução manipulando o comando usado para executar o MongoDB ( http://docs.mongodb.org/manual/reference/mongod/#cmdoption-mongod--nssize ).

Não há nenhuma razão real para o MongoDB implementar 16 MB por padrão para seu nssize, até onde eu sei, nunca ouvi falar sobre o lema de "não incomodar o usuário com todos os detalhes", então não compro esse.

Acho que, na minha opinião, a principal razão pela qual o MongoDB oculta isso é porque, como afirma a documentação:

Coleções distintas são muito importantes para o processamento em lote de alto rendimento.

Usar várias coleções como um meio de escalar verticalmente em vez de horizontalmente por meio de um cluster, como o MongoDB foi projetado, é considerado (muitas vezes) uma prática ruim para sites de grande escala; como tal, as coleções de 12K são normalmente consideradas algo que as pessoas nunca vão, e nunca devem, averiguar.