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

Mongodb:várias coleções ou uma grande coleção com índice


Dos documentos do mongo aqui:modelagem de dados

Em determinadas situações, você pode optar por armazenar informações em várias coleções em vez de em uma única coleção.

Considere uma amostra de logs de coleta que armazena documentos de log para vários ambientes e aplicativos. A coleção de logs contém documentos do seguinte formato:

{ log:"dev", ts:..., info:... } { log:"debug", ts:..., info:...}

Se o número total de documentos for baixo, você pode agrupar documentos em uma coleção por tipo. Para logs, considere manter coleções de logs distintas, como logs.dev e logs.debug. A coleção logs.dev conteria apenas os documentos relacionados ao ambiente dev.

Geralmente, ter um grande número de coleções não tem uma penalidade de desempenho significativa e resulta em um desempenho muito bom. Coleções distintas são muito importantes para processamento em lote de alto rendimento.

Também falou com o cara 10gen. Para coleções realmente grandes, ele listou vários benefícios para separar em coleções menores e mais específicas. Seu comentário sobre o uso de uma coleção para todos os dados e o uso de um índice foi:

Só porque você pode fazer algo não significa que você deve. Modele seus dados adequadamente. pode ser fácil de armazenar em uma grande coleção e índice, mas essa nem sempre é a melhor abordagem.