MapReduce : отказоустойчивая распределенная вычислительная среда. MapReduce позволяет вам работать с огромными объемами данных, при этом требуется много работы для предотвращения сбоев из-за аппаратного обеспечения. MapReduce - плохой выбор для вычисления результатов на лету, потому что он медленный. (Типичное задание MapReduce занимает порядка минут или часов, а не микросекунд)
Задание MapReduce принимает файл (или некоторое хранилище данных) в качестве входных данных и записывает файл результатов. Если вы хотите, чтобы эти результаты были доступны приложению, вы обязаны поместить эти данные в доступное место. Это, вероятно, медленно, и между значениями, которые вы можете отобразить, и значениями, представляющими вашу систему в ее текущем состоянии, будет задержка.
При рассмотрении вопроса об использовании MapReduce при построении систем реального времени важно различать обучение вашей модели и ее применение. Если вы считаете, что параметры вашей модели не изменяются быстро, вы можете подогнать их с помощью MapReduce, а затем иметь механизм доступа к этим параметрам предварительной подгонки, когда вы хотите применить свою модель.
Storm : потоковая вычислительная система в реальном времени. Storm - это онлайн-фреймворк, означающий в этом смысле сервис, который взаимодействует с работающим приложением. В отличие от MapReduce, он получает небольшие фрагменты данных (не целый файл) по мере их обработки в вашем приложении. Вы определяете группу данных для выполнения операций с данными. Распространенным и простым вариантом использования Storm является отслеживание счетчиков и использование этой информации для заполнения панели мониторинга в реальном времени.
Storm не имеет (обязательно) никакого отношения к сохранению ваших данных. Здесь потоковое вещание - это еще один способ сказать, храня информацию, которая вам небезразлична, и выбрасывая остальное. В действительности у вас, вероятно, есть постоянный уровень в приложении, который уже записал данные, и поэтому это хорошее и обоснованное разделение проблем.
Если вы хотите узнать больше ...
Если вы хотите узнать больше о системах реального времени, которые соответствуют параметрам с MR и применяют модели по-другому, то здесь есть слайды для выступления, которое я дал на тему создания механизмов рекомендаций в реальном времени. HBase.
Отличная статья, которая интересным образом сочетает счет и постоянство в реальном времени, - это персонализация Новостей Google: масштабируемая онлайн-совместная фильтрация
Еще один интересный брак MR и Storm - SummingBird . Summingbird позволяет вам определять операции анализа данных, которые можно применять с помощью Storm или MR.