MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Czy framework Mongodb Aggregation jest szybszy niż map/reduce?

Każdy test, który przeprowadziłem osobiście (w tym z wykorzystaniem Twoich własnych danych), pokazuje, że struktura agregacji jest wielokrotnie szybsza niż redukcja mapy i zwykle jest szybsza o rząd wielkości.

Po prostu biorąc 1/10 opublikowanych danych (ale zamiast wyczyścić pamięć podręczną systemu operacyjnego, najpierw rozgrzać pamięć podręczną - ponieważ chcę zmierzyć wydajność agregacji, a nie ile czasu zajmuje strona w danych) mam to:

MapReduce:1058 ms
Struktura agregacji:133 ms

Usunięcie $match z frameworka agregacji i {query:} z mapReduce (ponieważ oba używałyby po prostu indeksu, a to nie jest to, co chcemy mierzyć) i grupowanie całego zestawu danych według klucza 2, dostałem:

MapReduce:18 803 ms
Struktura agregacji:1535 ms

Są one bardzo zgodne z moimi poprzednimi eksperymentami.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB nie może uruchomić serwera:domyślny silnik pamięci masowej „wiredTiger” nie jest dostępny w tej wersji mongod

  2. Zmień nazwę pola w kolekcji MongoDB

  3. Wybierz Grupuj według liczby i odrębnej liczby w tym samym zapytaniu mongodb

  4. Max i min w mongodb

  5. Agregacja Mongo Dopasuj wiele wartości