MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Hadoop Map/Reduce vs. integrierte Map/Reduce

Meine Antwort basiert auf Wissen und Erfahrung mit Hadoop MR und dem Lernen von Mongo DB MR. Sehen wir uns an, was die Hauptunterschiede sind, und versuchen Sie dann, Kriterien für die Auswahl zu definieren:Unterschiede sind:

  1. Hadoops MR kann in Java geschrieben werden, während MongoDBs in JavaScript ist.
  2. Hadoops MR kann alle Kerne nutzen, während MongoDBs Single-Threading ist.
  3. Hadoop MR wird nicht mit den Daten verbunden, während Mongo DBs verbunden werden.
  4. Hadoop MR verfügt über Millionen von Betriebsstunden und kann viele Sonderfälle mit enormer Ausgabegröße, Datenverzerrungen usw. bewältigen
  5. Es gibt übergeordnete Frameworks wie Pig, Hive, Cascading, die auf der Hadoop MR-Engine aufbauen.
  6. Hadoop MR ist Mainstream und es gibt viel Community-Support.

Aus dem Obigen kann ich die folgenden Auswahlkriterien vorschlagen:
Wählen Sie Mongo DB MR, wenn Sie eine einfache Gruppierung und Filterung benötigen, erwarten Sie kein starkes Mischen zwischen Karte und Reduzieren. Mit anderen Worten - etwas Einfaches.

Wählen Sie hadoop MR, wenn Sie komplizierte, rechenintensive MR-Jobs durchführen (z. B. einige Regressionsberechnungen). Viele oder unvorhersehbare Datenmengen zwischen Karte und Reduzierung legen ebenfalls Hadoop MR nahe.

Java ist eine stärkere Sprache mit mehr Bibliotheken, insbesondere statistischen. Das sollte berücksichtigt werden.