sql >> Databasteknik >  >> NoSQL >> MongoDB

Är Mongodb Aggregation-ramverket snabbare än kartlägga/minska?

Varje test jag personligen har kört (inklusive att använda din egen data) visar att aggregeringsramverket är en multipel som är snabbare än kartminskningen och vanligtvis är en storleksordning snabbare.

Bara att ta en 1/10-del av den data du postade (men istället för att rensa OS-cache, värma cachen först - eftersom jag vill mäta prestandan för aggregeringen, och inte hur lång tid det tar att bläddra i datan) fick jag detta:

MapReduce:1 058 ms
Aggregation Framework:133 ms

Att ta bort $match från aggregeringsramverket och {query:} från mapReduce (eftersom båda bara skulle använda ett index och det är inte vad vi vill mäta) och gruppera hela datasetet efter nyckel2 fick jag:

MapReduce:18 803 ms
Aggregation Framework:1 535 ms

De är mycket i linje med mina tidigare experiment.



  1. MongoDB:upsert sub-dokument

  2. MongoDB $pop

  3. MongoDB $dateToString

  4. Redis som meddelandeförmedlare