Moje odpověď je založena na znalostech a zkušenostech Hadoop MR a učení Mongo DB MR. Podívejme se, jaké jsou hlavní rozdíly, a poté se pokusíme definovat kritéria pro výběr:Rozdíly jsou:
- Hadoop's MR může být napsán v Javě, zatímco MongoDB's je v JavaScriptu.
- Hadoop's MR je schopen využít všechna jádra, zatímco MongoDB's je jednovláknový.
- Hadoop MR nebude spojen s daty, zatímco databáze Mongo budou umístěny.
- Hadoop MR má miliony motorů/hodin a dokáže si poradit s mnoha rohovými pouzdry s masivní velikostí výstupu, zkreslením dat atd.
- Existují rámce vyšší úrovně jako Pig, Hive, Cascading postavené na enginu Hadoop MR.
- Hadoop MR je mainstream a je k dispozici mnoho podpory komunity.
Z výše uvedeného mohu navrhnout následující kritéria pro výběr:
Vyberte Mongo DB MR, pokud potřebujete jednoduché seskupování podle a filtrování, neočekávejte těžké míchání mezi mapou a redukcí. Jinými slovy – něco jednoduchého.
Vyberte hadoop MR, pokud budete provádět složité, výpočetně náročné úlohy MR (například některé regresní výpočty). Mnoho nebo nepředvídatelná velikost dat mezi mapou a redukcí také naznačuje Hadoop MR.
Java je silnější jazyk s více knihovnami, zejména statistickými. To by se mělo vzít v úvahu.