Moja odpowiedź jest oparta na wiedzy i doświadczeniu Hadoop MR i uczeniu się Mongo DB MR. Pozwala zobaczyć, jakie są główne różnice, a następnie spróbuj określić kryteria wyboru: Różnice są następujące:
- Hadoop za MR może być napisany w języku Java, a MongoDB jest w JavaScript.
- MR firmy Hadoop może wykorzystywać wszystkie rdzenie, a MongoDB jest pojedynczym wątkiem.
- Hadoop MR nie będzie kolokowany z danymi, a bazy danych Mongo będą kolokowane.
- Hadoop MR ma miliony Silnik/godziny, a może uporać się z wielu przypadkach narożnych z masywnej wielkości produkcji, zniekształca danych itp
- Istnieje wyższe ramy poziomie jak świnia, Hive, kaskadowy zbudowany na szczycie Hadoop Silnik MR.
- Hadoop MR jest głównym nurtem i dostępne jest wiele wsparcia dla społeczności.
Z powyższego mogę zaproponować następujące kryteria wyboru:
Wybierz Mongo DB MR jeśli potrzebujesz prostego i filtrowanie przez grupę, nie oczekuj ciężkie szuranie między mapie i zmniejszyć. Innymi słowy - coś prostego.
Wybierz MR, jeśli zamierzasz wykonywać skomplikowane, intensywne obliczeniowo zadania MR (na przykład niektóre obliczenia regresji). Posiadanie dużej lub nieprzewidywalnej wielkości danych między mapą a redukcją sugeruje również MR Hadoop.
Java jest silniejszym językiem z większą liczbą bibliotek, zwłaszcza statystycznych. To należy wziąć pod uwagę.
Wspaniałe punkty, dziękuję. Czy sądzisz, że przechowywanie danych w Mongo i NIE używanie HDFS będzie miało duży szyjkę butelek? Mój rozmiar danych wynosi około 10 TB i jest wysoce uporządkowany, a moje obliczenia są zarówno proste, jak i złożone.Przechowywanie danych w Mongo daje nam wiele korzyści, ale nie jestem pewien, czy korzystanie z HDFS może być w ogóle problematyczne? – iCode
i jeszcze jedno pytanie, czy można bezpiecznie powiedzieć, że hasoop będzie szybszy nawet przy prostych zadaniach M/R? – iCode
Moja wiedza na temat Mongo DB jest ograniczona. W najlepszym razie ten system jest zbudowany dla dostępu losowego, zbudowanego wokół indeksowania. Jest to system zbudowany do obsługi online. W tym samym czasie HDFS jest budowany dla sekwencyjnego dostępu, ciężkich skanów i wszystkie kompromisy są wykonywane w tym kierunku. Nie oczekuję, że MongoDB będzie dobry w skanach ... Przy tak dużej ilości danych - to są trudne pytania i myślę, że potrzeba więcej informacji do podjęcia decyzji. Konkretnie - ma wpływ na wydajność Mongo DB ma kluczowe znaczenie. –