sql >> Databáze >  >> NoSQL >> MongoDB

Je rámec Mongodb Aggregation rychlejší než map/reduce?

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.



  1. MongoDB $toDecimal

  2. Ovladač MongoDb c# najde položku v poli podle hodnoty pole

  3. Jak provedu dotaz NOT IN v Mongo?

  4. Selhala globální inicializace:BadValue Neplatné nebo není nastaveno žádné uživatelské národní prostředí. Ujistěte se, že jsou proměnné prostředí LANG a/nebo LC_* správně nastaveny