MapReduce внутри, снаружи или сбоку от параллельных СУБД

MapReduce и ETL


Как отмечается в , для канонического способа использования технологии MapReduce характерно применение следующих операций:

  • чтение журнальных данных из нескольких разных файлов-журналов;

  • разбор и очистка журнальных данных;

  • преобразования этих данных, в том числе их частичная агрегация;

  • принятие решения о схеме результирующих данных;

  • загрузка данных в хранилище данных или другую систему хранения.

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

Имелись попытки реализации процедур ETL внутри сервера баз данных средствами языка SQL. Разработчики параллельных СУБД с поддержкой MapReduce Greenplum Database и nCluster компании Aster Data тоже намекают, что их встроенный MapReduce можно использовать и для поддержки ETL. Но исторически системы ETL промышленного уровня существуют отдельно от СУБД. Обычно СУБД не пытаются выполнять ETL, а системы ETL не поддерживают функции СУБД.



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