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

O que pode ser feito com a Agregação do Mongo / Desempenho da Agregação do Mongo


Recebi uma resposta válida e útil de grupos do Google. Gostaria de compartilhar com todos vocês.

A limitação não está no número de documentos:a limitação está na quantidade de memória usada pelo resultado final (ou um resultado intermediário).

Então:se você agregar 200.000 documentos, mas o resultado se encaixar no resultado de 16 MB, tudo bem. Se você agregar 100 documentos e o resultado não couber em 16 MB, você receberá um erro.

Da mesma forma, se você fizer um sort() ou um group() em um resultado intermediário e essa operação precisar de mais de 10% da RAM disponível, você receberá um erro. Isso é apenas vagamente relacionado a quantos documentos você tem:é uma função de quão grande é o estágio específico do pipeline.

O limite de 16 MB não é ajustável. Este é o tamanho máximo de um documento no MongoDB. Como a estrutura de agregação está atualmente implementada como um comando, o resultado da agregação deve ser retornado em um único documento:daí o limite de 16 MB.

veja este postar