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

Co można zrobić z Mongo Aggregation / Performance of Mongo Aggregation?

Otrzymałem ważną i pomocną odpowiedź od grup Google. Chciałbym podzielić się z wami wszystkimi.

Ograniczenie nie dotyczy liczby dokumentów:ograniczenie dotyczy ilości pamięci używanej przez wynik końcowy (lub wynik pośredni).

A więc:jeśli agregujesz 200 000 dokumentów, ale wynik pasuje do wyniku 16 MB, to wszystko w porządku. Jeśli zbierzesz 100 dokumentów, a wynik nie zmieści się do 16 MB, otrzymasz błąd.

Podobnie, jeśli wykonasz sort() lub group() na wyniku pośrednim i ta operacja wymaga więcej niż 10% dostępnej pamięci RAM, otrzymasz błąd. Jest to tylko luźno związane z liczbą posiadanych dokumentów:jest to funkcja tego, jak duży jest dany etap potoku.

Limit 16 MB nie jest regulowany. Jest to maksymalny rozmiar dokumentu w MongoDB. Ponieważ struktura agregacji jest obecnie zaimplementowana jako polecenie, wynik agregacji musi zostać zwrócony w jednym dokumencie:stąd limit 16 MB.

zobacz to post



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB — Usuń bazę danych

  2. Osadzona populacja mangusty

  3. Mongodb $lookup Nie działa z _id

  4. Jak uniknąć ostrzeżenia transparent_hugepage/defrag z mongodb?

  5. Problemy z uruchomieniem MongoDB w systemie Windows