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

A estrutura de agregação do Mongodb é mais rápida que map/reduce?


Todos os testes que executei pessoalmente (incluindo o uso de seus próprios dados) mostram que a estrutura de agregação é um múltiplo mais rápido do que a redução de mapa e geralmente é uma ordem de magnitude mais rápida.

Apenas pegando 1/10 dos dados que você postou (mas em vez de limpar o cache do sistema operacional, aquecendo o cache primeiro - porque quero medir o desempenho da agregação e não quanto tempo leva para paginar os dados) obtive isso:

MapReduce:1.058ms
Estrutura de Agregação:133ms


Removendo o $match da estrutura de agregação e {query:} do mapReduce (porque ambos usariam apenas um índice e não é isso que queremos medir) e agrupando todo o conjunto de dados por key2, obtive:

MapReduce:18.803ms
Estrutura de Agregação:1.535ms


Esses estão muito de acordo com meus experimentos anteriores.