MapReduce и параллельные СУБД

         

От переводчика: как ни крути, получается Vertica


Постепенно технология MapReduce начинает использоваться не в качестве конкурента технологии массивно-параллельных СУБД, а в качестве ее дополнения. Напомню, что все начиналось с достаточно интенсивной полемики между стронниками MapReduce и авторитетными представителями сообщества баз данных (см., например, статьи Майкла Стоунбрейкера и Дэвида Девитта (David J. DeWitt) из коллективного блога Database Column MapReduce: A major step backwards и MapReduce II).

На следующем этапе группа во главе со Стоунбрейкером выполнила отличную работу по сравнению производительности реализации MapReduce Hadoop с двумя массивно-параллельными СУБД (поколоночная Vertica и некая классическая система с хранением данных по строкам). В этом исследовании было показано, что при решении характерных аналитических задач паралельные СУБД показывают производительность, существенно более высокую, чем MapReduce, хотя параллельные СУБД тратят значительно больше времени на загрузку данных (см. статью Майкла Стоунбрейкера и др. Сравнение подходов к крупномасштабному анализу данных). Уже в этой статье отмечались в качестве положительного явления попытки интегрировать технологии SQL и MapReduce в нескольких начинающих компаниях.

За этим последовали интереснейшие, с моей точки зрения, публикации представителей компаний Greenplum (Джо Хеллерстейн и др. МОГучие способности: новые приемы анализа больших данных) и Asterdata (Эрик Фридман и др. ). В этих работах, хотя и с разными обоснованиями и с разных точек зрения, говорилось о применении парадигмы MapReduce для расширения возможностей серверного программирования в массивно-параллельных СУБД.

В дополнение к этим публикациям, возможно, стоит почитать мою обзорную статью и заметку по поводу статьи про Asterdata .

И вот в январском номере журнала Communications of the ACM за 2010 г. вышла новая статья Стоунбрейкера и др., перевод которой предлагается вашему вниманию. Чем меня заинтересовала эта статья? Во-первых, это первая публикация относительно возможной интеграции технологий MapReduce и параллельных СУБД, вышедшая не в специализированном издании сообщества баз данных, а в популярнейшем компьютерном журнале широкого профиля. Значит, "процесс пошел", осталось его только "углубить". Во-вторых, эта статья хорошо дополняет статью Сравнение подходов к крупномасштабному анализу данных, поскольку основана на более свежих данных.


И наконец, что самое интересное, она отражает мнение самого СТОУНБРЕЙКЕРА о месте MapReduce поблизости от параллельных СУБД. И здесь очень интересными кажутся рассуждения о близости технологии MapReduce с существующими технологиями ETL и о возможности базировать на MapReduce будущие средства ETL, ориентированные на поддержку хранилищ данных, которые управляются массивно-параллельными СУБД. Это выглядит очень здраво и перспективно.

В общем, статья интересна и актуальна. Это еще один шаг к будущим системам управления данными. Это вообще, а в частности теперь понятно, каким путем движется Стоунбрейкеровская Vertica :).

Сергей Кузнецов

Парадигма MapReduce (MR) провозглашается как основа революционно новой платформы массивно-паралельного доступа к крупномасштабным данным . Некоторые сторонники этого подхода утверждают, что исключительная масштабируемость MR приведет к тому, что системы управления реляционными базами данных (СУБД) станут унаследованными системами. По крайней мере, одна крупная компания (Facebook) реализовала крупную систему хранилищ данных с использованием MR, а не СУБД.

В этой статье мы приводим доводы в пользу того, что использование систем MR при решении задач, для которых наилучшим образом подходят СУБД, приводит к не очень хорошим результатам . Мы приходим к выводу, что системы MR больше похожи на системы извлечения-преобразования-загрузки (extract-transform-load, ETL), чем на СУБД, поскольку они быстро загружают и обрабатывают в заранее непредвиденном режиме данные большого объема. В этом качестве технология MR дополняет технологию СУБД, а не конкурирует с ней. Мы также обсуждаем различия в архитектурных решениях систем MR и баз данных и описываем, каким образом эти системы дополняют друг друга.


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