В общем случае вы можете столкнуться с двумя ситуациями:
- Ваша проблема достаточно мала, чтобы поместиться в память вашей единой системы, и у вашей единой системы достаточно ресурсов процессора, чтобы решить проблему в течение требуемого времени.
- Ваша проблема слишком велика.2.1 Время работы слишком велико (дисковый ввод-вывод и / или время процессора) 2.2 Слишком велико, чтобы поместиться в память (ОЗУ).
Для 2.1 и 2.2 парадигма MapReduce очень помогает разделить работу намного маленьких кусков.Если вам нужно больше процессоров, вы просто добавляете процессоры.
Таким образом, если у вас есть одна система, и оказывается, что ваша проблема слишком велика, чтобы уместиться в память (пункт 2.2), вы все равно можете извлечь выгоду из того факта, что MapReduce может легко поместить часть проблемы на диск доэта часть должна быть обработана.
Важным фактом является то, что если у вас есть проблема, которая достаточно мала, чтобы поместиться в память, и достаточно мала, чтобы обрабатываться в одной системе, тогда выделенное (не MapReduce) решениеможет быть намного быстрее.