Классика баз данных - статьи

       

Однако при распределении большого набора


Однако при распределении большого набора данных по узлам сети можно получить огромное преимущество за счет того, что можно распределить и обработку этих данных (при условии, что анализ поддается распараллеливанию).

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

Кроме того, коммуникации между узлами часто требуются после того, как данные тщательно агрегированы. Рассмотрим, например, операцию взятия среднего значения некоторого поля набора данных из миллиарда записей, хранимых в нескольких узлах. Каждому узлу требуется передать только два значения (сумму и число значений) в узел, производящий окончательный результат. Не каждую агрегацию можно вычислить так просто – как глобальную агрегацию локальных подагрегаций (например, так невозможно подсчитать общую медиану), но во многих важных случаях это возможно, и имеются распределенные алгоритмы решения других, более сложных задач, минимизирующие коммуникации между узлами.

Естественно, в распределенном анализе больших данных имеются свои "фокусы". Одной из основных проблем является неравномерное распределение работы по узлам сети. В идеале у каждого узла имеется один и тот же объем независимых вычислений, которые требуется проделать до объединения результатов всех узлов.

Содержание  Назад  Вперед