Аннотация:
Девять лет назад была опубликована статья [1], которая внесла сумятицу в головы многих не слишком стойких молодых специалистов.
Возникло впечатление, что эпоха аналитических СУБД закончилась, что теперь любая аналитическая задача дешево и эффективно решается с помощью простого ручного программирования.
Как не странно, этого испугались даже матерые и всемирно известные исследователи [2], которые потратили много сил и нервов на обоснование того, что MapReduce заменить СУБД все-таки не может.
Однако вскоре страсти в мире баз данных улеглись.
Стало понятно, что массивно-параллельным СУБД в действительности нужен MapReduce, а MapReduce относительно бесполезен без СУБД.
Первое, на что следует обратить внимание, это близость парадигмы MapReduce традиционной технологии ROLAP.
В мире аналитических SQL-ориентированных баз данных привыкли к тому, что многомерные кубы строятся на основе оператора Group By [3], а действия функции map можно считать обобщением группировки.
Второй фактор, сыгравший огромную роль в жизни MapReduce, – это открытая реализация технологии сообществом Apache [4].
Если отвлечься от навязчивого маркетинга, то на сегодняшний день можно выделить две ниши, в которых технология MapReduce приносит реальную помощь в тесной взаимосвязи с технологией аналитических СУБД.
Во-первых, MapReduce позволяет создавать серверные горизонтально масштабируемые аналитические приложения (Greeplum, Asterdata, Vertica).
Во-вторых, MapReduce может успешно использоваться для обеспечения инфраструктуры новых аналитических массивно-параллельных СУБД (HadoopDB, после коммерциализации Hadаpt).
Jim Gray, Adam Bosworth, Andrew Layman, Hamid Pirahesh, Data Cube: A Relational Aggregation Operator Generalizing Group-By, Cross-Tab, and Sub-Totals, Technical report MSR-TR-95-22, http://research.microsoft.com/pubs/69578/tr-95-22.pdf, 1995