UA-11904844-8

Сильные и слабые стороны модели MapReduce

Процесс MapReduce работает на стандартном недорогом оборудовании. Это означает, что его можно наладить с небольшими затратами. Кроме того, его расширение обойдется довольно дешево. Увеличить емкость легко, поскольку все, что требуется, — это дополнительные серверы и их интеграция.

Мы уже говорили о том, что с решением некоторых задач MapReduce справляется гораздо лучше, чем реляционные базы данных. Это разбор текста, обработка данных веб-журналов и чтение информации из огромного источника необработанных данных. Модель MapReduce наиболее эффективна в случаях, когда существует большой объем входных данных, б?льшая часть которых не нужна для анализа. Если большое значение имеет малая часть данных, но заранее неясно, какая именно, то MapReduce может помочь. Этот алгоритм позволяет разобраться в большом объеме данных и извлечь важные фрагменты.

Словно пить из шланга

Многие большие потоки данных, например веб-журналы, содержат большое количество информации, не имеющей долгосрочной ценности. Модель MapReduce позволяет извлекать из потока данных то, что вам нужно, пропуская остальную информацию, как если бы вы пили воду из шланга.

Нет смысла тратить много времени и ресурсов на загрузку огромного количества необработанной информации в корпоративное хранилище данных, если в процессе их обработки б?льшая часть будет отброшена. Если данные нужны только на короткий период, не стоит помещать их в хранилище данных. Модель MapReduce идеально подходит в таких случаях. Отбросьте излишки информации до ее загрузки в базу данных.

Во многих ситуациях модель MapReduce используется как инструмент извлечения, преобразования и загрузки данных (ETL). ETL-инструменты прочитывают набор исходных данных, производят комплекс действий, связанных с форматированием или реорганизацией, а затем загружают результаты в итоговый источник данных. Для обеспечения анализа ETL-инструменты берут данные из систем взаимодействия подразделений предприятия и загружают их в реляционную базу данных, чтобы обеспечить к ним доступ. Модель MapReduce часто используется для обработки источников больших данных, извлечения из них имеющих ценность сведений и передачи результатов в базу данных или аналитический процесс. В предыдущем примере необработанный текст превращается в набор слов с указанием частоты их использования, который можно проанализировать, а результаты передать в базу данных, чтобы объединить эту информацию с дополнительными данными.

Модель MapReduce не база данных, поэтому не имеет встроенной системы безопасности, средств индексирования, оптимизатора запросов или процессов, истории выполненных заданий и сведений о других существующих данных. Она обеспечивает не только максимальную гибкость при обработке различных видов данных, но также несет ответственность за определение того, что собой представляют данные, в каждом созданном процессе. Практически всегда будет применяться пользовательский код, в том числе и для структуры данных. Каждое задание представляет собой отдельный элемент, которому ничего не известно о том, что происходит за пределами модели.

MapReduce по-прежнему находится на стадии развития. Немногие знают о том, как ее правильно использовать, конфигурировать или писать нужный код. Сегодня уровень компетентности в применении MapReduce сдерживается ресурсными ограничениями. Это будет меняться с течением времени по мере становления данной технологии и роста числа людей, эффективно ее использующих. Тем не менее на момент написания данной книги этой теме уделяется большое внимание.