Každý test, který jsem osobně provedl (včetně použití vašich vlastních dat), ukazuje, že agregační rámec je několikanásobně rychlejší než redukce map a obvykle je o řád rychlejší.
Stačí vzít 1/10 dat, která jste odeslali (ale spíše než vymazat mezipaměť operačního systému, nejprve zahřát mezipaměť - protože chci měřit výkon agregace a ne jak dlouho trvá stránkování dat), mám toto:
MapReduce:1 058 ms
Agregační rámec:133 ms
Odstranění $match z agregačního rámce a {query:} z mapReduce (protože oba by pouze používaly index a to není to, co chceme měřit) a seskupení celé datové sady podle klíče2, které jsem získal:
MapReduce:18 803 ms
Agregační rámec:1 535 ms
Ty jsou velmi v souladu s mými předchozími experimenty.