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

Mapa Hadoop/Redukcja vs wbudowana mapa/Redukcja

Moja odpowiedź opiera się na wiedzy i doświadczeniu Hadoop MR oraz nauce Mongo DB MR. Zobaczmy, jakie są główne różnice, a następnie spróbujmy zdefiniować kryteria wyboru:Różnice to:

  1. MR Hadoopa można napisać w Javie, podczas gdy MongoDB jest w JavaScript.
  2. MR Hadoopa jest w stanie wykorzystać wszystkie rdzenie, podczas gdy MongoDB jest jednowątkowy.
  3. Hadoop MR nie będzie kolokowany z danymi, podczas gdy bazy danych Mongo DB będą kolokowane.
  4. Hadoop MR ma miliony silników na godziny i radzi sobie z wieloma przypadkami narożnymi z ogromnymi rozmiarami danych wyjściowych, skrzywieniem danych itp.
  5. Istnieją struktury wyższego poziomu, takie jak Pig, Hive, Cascading zbudowane na silniku Hadoop MR.
  6. Hadoop MR jest głównym nurtem i dostępne jest duże wsparcie społeczności.

Z powyższego mogę zasugerować następujące kryteria wyboru:
Wybierz Mongo DB MR, jeśli potrzebujesz prostego grupowania według i filtrowania, nie oczekuj dużego przetasowania między mapą a redukcją. Innymi słowy - coś prostego.

Wybierz hadoop MR, jeśli zamierzasz wykonywać skomplikowane, wymagające obliczeniowo zadania MR (na przykład niektóre obliczenia regresji). Duża lub nieprzewidywalna wielkość danych między mapą a redukcją sugeruje również Hadoop MR.

Java jest silniejszym językiem z większą liczbą bibliotek, zwłaszcza statystycznych. Należy to wziąć pod uwagę.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. NieobsłużonePromiseRejectionWarning:MongooseServerSelectionError

  2. MongoDB $round vs $trunc:Jaka jest różnica?

  3. Nazwy pól FieldPath nie mogą zawierać „.” w $grupie

  4. Jak zaktualizować wiele pól za pomocą Update.Set w MongoDB przy użyciu oficjalnego sterownika c#?

  5. MongoDB jako magazyn plików