Моят отговор се основава на познанията и опита на Hadoop MR и изучаването на Mongo DB MR. Нека видим какви са основните разлики и след това се опитаме да дефинираме критерии за избор:Разликите са:
- MR на Hadoop може да бъде написан на Java, докато на MongoDB е на JavaScript.
- MR на Hadoop е в състояние да използва всички ядра, докато MongoDB е с една нишка.
- Hadoop MR няма да се съпоставя с данните, докато Mongo DB ще бъдат разпределени.
- Hadoop MR има милиони двигател/часове и може да се справи с много ъглови случаи с огромен размер на продукцията, изкривяване на данните и т.н.
- Има рамки от по-високо ниво като Pig, Hive, Cascading, изградени върху механизма на Hadoop MR.
- Hadoop MR е масово и има много подкрепа от общността.
От горното мога да предложа следните критерии за избор:
Изберете Mongo DB MR, ако имате нужда от просто групиране по и филтриране, не очаквайте тежко разбъркване между карта и намаляване. С други думи – нещо просто.
Изберете hadoop MR, ако ще извършвате сложни, изчислително интензивни MR задачи (например изчисления на някои регресии). Наличието на много или непредсказуем размер на данни между карта и намаляване също предполага Hadoop MR.
Java е по-силен език с повече библиотеки, особено статистически. Това трябва да се има предвид.