sql >> Database teknologi >  >> NoSQL >> MongoDB

Er Mongodb Aggregation framework hurtigere end kort/reducer?

Hver test, jeg personligt har kørt (herunder ved at bruge dine egne data) viser, at aggregeringsramme er et multiplum, der er hurtigere end kortreduktion, og normalt er en størrelsesorden hurtigere.

Bare ved at tage 1/10 af de data, du postede (men i stedet for at rydde OS-cachen, opvarme cachen først - fordi jeg vil måle effektiviteten af ​​aggregeringen, og ikke hvor lang tid det tager at side i dataene), fik jeg dette:

MapReduce:1.058ms
Aggregation Framework:133ms

Fjernelse af $match fra aggregeringsramme og {query:} fra mapReduce (fordi begge ville bare bruge et indeks, og det er ikke det, vi vil måle) og gruppering af hele datasættet efter key2, fik jeg:

MapReduce:18.803ms
Aggregation Framework:1.535ms

De er meget i tråd med mine tidligere eksperimenter.



  1. 2 måder at erstatte en understreng i MongoDB

  2. MongoDB:output 'id' i stedet for '_id'

  3. MongoDB i 2018 - A Year in Review

  4. Sådan rettes Redis-nøgler serialiseret med Java