Сравнение подходов к крупномасштабному анализу данных

       

Запуск задач


Было обнаружено, что при выполнении MR-программ проходит некоторое время до того, как все узлы начинают работать на полную мощность. На кластере из 100 узлов проходит 10 секунд от поступления задания в JobTracker до начала выполнения первой задачи Map и 25 секунд до того времени, когда это задание выполняется на всех узлах кластера. Это согласуется с результатами, описанными в , где пиковая скорость обработки данных достигалась в течении 60 секунд на кластере с 1800 узлами. «Холодный старт» характерен для реализации Hadoop (и, по-видимому, для соответствующей реализации Google), но не присущ самой модели MR. Например, авторы также обнаружили, что в предыдущих версиях Hadoop для каждого экземпляра Map и Reduce в соответствующем узле создавался новый процесс JVM, что повышало уровень накладных расходов при выполнении заданий над крупными наборами данных. Возможность повторного использования JVM в последней версии Hadoop повысила эффективность Hadoop при решении описываемых тестовых задач на 10-15%.

В отличие от этого, параллельные СУБД запускаются при раскрутке ОС, и поэтому их можно всегда считать «теплыми», ожидающими запросов для выполнения. Кроме того, все современные СУБД разработаны для выполнения запросов с использованием нескольких потоков управления и процессов, что позволяет уже исполняемому коду СУБД принимать дополнительные задачи и дополнительно оптимизировать план исполнения. Минимизация времени запуска была одной из первых оптимизаций СУБД, и, конечно, это то, что следует постараться внедрить в системы MR без серьезного изменения основной архитектуры.



Содержание раздела