НовостиОбзорыСобытияIT@WorkРеклама
Идеи и практики автоматизации:

Блог

Hadoop как ETL-killer

ETL-процессинг -- одна из ключевых концепций хранилищ данных, подразумевающая сбор, обработку и загрузку (Extract, Transform, Load) информации из различных источников. Зародившись практически одновременно с СУБД как узкоспециализированная технология, она постепенно доросла до масштабных интеграционных задач. Коммерческие ETL-продукты выпускают IBM, Microsoft, Oracle, SAP, SAS... Есть и мощные СПО, например, Pentaho.

[spoiler]Наиболее рьяные поклонники Hadoop не без оснований отмечают, что сегодня эта платформа «перемалывания» данных просто идеальное решение для ETL -- доступные ETL-решения с учетом требуемой для них инфраструктуры, заметно проигрывают Hadoop и по способностям масштабирования, и по цене. То есть пользователям потенциально доступна новая свободная платформа с отличными ТТХ. И это хорошо.
Но начнем с плохого:)

Данные все равно требуется как минимум «извлекать» из исходных источников, а потом грузить в Hadoop. Да и мощь Hadoop в плане обработки информации не снимает проблем с качеством/верификацией данных, а средства управления ETL-процессом в рамках Hadoop, мягко говоря, очень аскетичны.

Формально, в модели MapReduce можно без проблем написать ETL-скрипты, только они будут работать куда медленнее, нежели «фирменные» средства. Другое дело, что Hadoop начинает менять классическую схему ETL -- скоростное извлечение данных из источника с минимальным влиянием на него, перевод этих данных в подходящий формат, и загрузку их в некое условное (возможно, виртуальное) хранилище с учётом его технических ограничений. Все эти операции должны быть прозрачными-измеряемыми и защищёнными.

Есть мнение, что Hadoop пока может отвечать фактически только за Transform, и очень частично за Load (в HDFS/HBase). Сегодня его довольно бессистемно прикручивают буковкой «T» к действующим инфраструктурам примерно по такой гибридной схеме: данные поступают извне в Hadoop, где перемалываются и затем «выгружаются» -- например, в его же файловую систему, а уже оттуда цепляются внешними движками бизнес-аналитики.

Вот еще типичный use case: исходная информация уже хранится в Hadoop (например, сырые данные от датчиков грузятся напрямую в HDFS в виде двоичных файлов), а выход из Hadoop оптимизирован под форматы BI-движков (фактически в Hadoop осуществляется свой внутренний цикл ETL). Вариант: исходные данные помещаются «внутрь» Hadoop из каких-то промежуточных баз или хранилищ. Недостаток встраивания цикла ETL внутрь Hadoop в основном связан с высокими требованиями ETL к ресурсам, которых обычно самому Hadoop маловато. Поэтому пока Hadoop чаще всего расценивается как некий вторичный ускоритель для ETL.

Но у подхода «Hadoop + ETL» есть также и явные плюсы (далее), которые в ряде проектов могут перевесить упомянутые минусы.
Колесов Андрей
Оценивать нужно по реальным результатам, а не по генерации байтов.
Сергей Тарасов
С результатами проблема. Я несколько раз спрашивал пропагандистов бигдаты (не имею в виду Сергея Б.) о примерах проектов и их рентабельности, но в ответ не получил ничего конкретного... Потоком идет обычный "маркетинговый буллшит", за которым трудно увидеть действительные выгоды.
Колесов Андрей
Я уже давно понял для себя, что Big Data - это чистой воды "мыльный пузырь".