Последние сомнения ИТ-рынка по поводу того, что “большие данные” — это не просто новомодный маркетинговый термин, развеял президент EMC и директор подразделения продуктов для информационной инфраструктуры Пэт Гелсингер. По его словам, объем этого рынка к 2015-му достигнет 70 млрд. долл., ежегодный рост составит от 15 до 20%. В исследовательской компании IDC считают, что постоянный экспоненциальный рост информации — как структурированной, так и неструктурированной — в ближайшее время сделает этот рынок наиболее привлекательным для поставщиков решений. Успешными на нем станут разработчики полного пакета сервисов для обслуживания “больших данных” — оборудования, ПО и услуг по внедрению, обучения персонала.
Если раньше большие объемы информации ассоциировались с реляционными базами данных (БД), то теперь — с технологией Hadoop, представляющей собой набор утилит, библиотек, а также программный каркас для разработки и выполнения приложений, работающих на базе алгоритма для обработки распределенных данных MapReduce. В IDC прогнозируют рост рынка ПО, связанного с Hadoop, уже в ближайшем будущем. Он вырастет с 77 млн. долл. в 2011 г. до 812,6 млн. долл. к 2016-му при среднем годовом росте 60,2%.
Создателем технологии распределенных баз данных Hadoop считается Дуг Каттинг. Среди прочего он известен как создатель информационно-поисковой библиотеки Lucene (ее использует Wikipedia), а также, в соавторстве с Майклом Кафареллой, поисковой системы Nutch — оба проекта с открытыми исходными кодами взяты под эгиду Apache Software Foundation. Кстати, в июле 2009 г. Дуг Каттинг был избран в совет директоров этой организации, а с сентября 2010-го он становится ее председателем. В разное время работал во многих крупнейших американских технологических компаниях (Apple, Excite, Xerox).
После того как Google Labs в 2004 г. опубликовала статью, описывающую работу алгоритма MapReduce, Каттинг смог оценить далеко идущие последствия данного шага. Понимая всю важность этой технологии (распараллеливания поисковых задач сразу на многих серверных кластерах) для работы с большими объемами неструктурированной информации, он покидает Yahoo (уж где-где, а в этой компании точно можно получить представление о том, что такое “большие данные”), где на тот момент работал, и переходит в компанию Cloudera.
(Необходимо заметить, что технология Hadoop несколько лет интенсивно тестировалась командой Каттинга, когда он еще был сотрудником Yahoo. В феврале 2008 г. Yahoo запустила в продуктивную эксплуатацию кластерную поисковую машину на 10 тыс. процессорных ядер, управляемую средствами Hadoop.)
В январе 2008 г. Hadoop становится проектом верхнего уровня фонда Apache Software Foundation, а в апреле того же года эта технология побила мировой рекорд производительности в стандартизированном тесте на сортировку данных.
Первой компанией, представившей в марте 2009 г. на рынок пакет услуг Cloudera Enterprise на базе Hadoop, стала Cloudera (кроме Дуга Каттинга под завязку “укомплектованная” и другими отраслевыми ветеранами). В рамках этого пакета заказчики получили техническую поддержку по созданию и эксплуатации Hadoop-инфраструктур, а также доступ к Cloudera Manager — специализированному ПО, которое предоставляет визуализированное управление инфраструктурами распределенной обработки, их развертывание и позволяет автоматизировать создание и модификацию Hadoop-сред, отслеживать и анализировать эффективность выполнения заданий по обработке, настраивать оповещения о наступлении тех или иных событий. Был также выпущен коммерческий дистрибутив Cloudera Distribution for Hadoop (CDH), включающий в себя инструменты для развертывания систем распределенных вычислений на базе Hadoop, а также высокоуровневые языки, механизмы вызова удаленных процедур, сериализации, планирования и распределения работ. Для решения этих задач CDH соединяет в одном дистрибутиве различные компоненты с открытым кодом, такие как Flume, Hbase, Hive, Hadoop User Experience, Oozie, Pig, Sqoop и ZooKeeper.
Всего потребовалось практически восемь лет, чтобы Hadoop как технология для обработки больших объемов распределенных данных была подготовлена к рыночному запуску. Когда появилась ее первая стабильная версия в конце 2011 г., Арон Мерфи, вице-президент по разработке Hadoop в Apache Software Foundation, сказал: “Теперь пользователи могут быть уверены в стабильности Hadoop и в его поддержке со стороны сообщества разработчиков открытого ПО”. По его словам, в окончательной версии Apache Hadoop появились три основных момента, заслуживающих внимания. Во-первых, законченный менеджер безопасности, работающий на базе протокола аутентификации Kerberos, что позволяет предприятиям поручать Hadoop обработку закрытой информации. Во-вторых, новый набор REST API, обеспечивающий взаимодействие Hadoop с различными веб-технологиями, понятными многим ИТ-администраторам и веб-программистам. В-третьих, появилась полноценная версия Hbase, в которой администраторы, знакомые с реляционными БД, могут хранить информацию в привычном виде.
Как это работает? Например, eBay использует Hadoop, чтобы улучшить свои поисковые рейтинги. Компания Skybox, занимающаяся сбором потокового изображения со спутников, в реальном времени создает отчетность, согласно которой ее клиенты могут отслеживать информацию о количестве припаркованных автомобилей или морских судов. Банки с помощью Hadoop могут более детально изучать кредитные истории клиентов, компании — эмитенты кредитных карт — усовершенствовать технику выявления мошеннических схем, а биржевые аналитики — определять курсовые разницы ценных бумаг в долгосрочной перспективе. Чем больший объем информации анализируется какой-то отдельно взятой компанией, тем более прогнозируемой становится ее будущее, так как Hadoop значительно расширяет возможности анализа и поможет, к примеру, смоделировать рыночную ситуацию на месяцы и даже годы вперед, учитывая, например, демографический фактор и другие критерии отбора.
Начиная с 2010 г. Hadoop неоднократно характеризуется как ключевая технология “больших данных”, представляющая собой инструмент для процессинга больших объемов информации, разделенной между десятками и даже сотнями серверов. На данный момент активными пользователями Hadoop являются многие крупные корпорации, в том числе Ebay, IBM, Google, Oracle, Fujitsu, EMC, HP и др.
Но время не стоит на месте, и команда специалистов, занимающаяся параллельными вычислениями в научно-исследовательском подразделении Microsoft — Microsoft Research — во главе с Джереми Элсоном, многократно превзошла предыдущий рекорд производительности в стандартизированном тесте на сортировку данных за одну минуту ( MinuteSort), установленный Yahoo в 2009 г.
Используя для этого другой метод сортировки данных, исследователи обработали 1,5 Пб против 0,5 Гб информации, обработанной командой Yahoo . Причем команда Элсона добилась этого результата на кластере из 250 ПК, в то время как у команды “яховцев” был кластер из 1406 машин. Мало того, в тесте использовались “обычные” ПК из магазина.
Таких результатов удалось добиться благодаря технологии Flat Datacenter Storage (FDS). Microsoft не использовала типичные для подобных задач решения на базе парадигмы MapReduce, а рекорд был установлен при помощи удаленной файловой системы, что стало необычным выбором архитектуры для сортировки, считающейся слишком медленной (каждый цикл обработки данных требует трехкратного прохождения через сеть). Оказывается, команда Элсона сознательно облюбовала более медленный способ сортировки данных, чтобы продемонстрировать возможности новой файловой системы FDS.
“Hadoop и MapReduce значительно улучшили технологию структурированности информации, но они все еще далеки от совершенства. Есть такие виды расчетов, и сортировка — один из них, данные для которых не поддаются независимой обработке на разных узлах, как это делается в MapReduce-решениях. Так или иначе, но необходимость перемещать огромные объемы данных все еще сохраняется”, — сказал Элсон.
Технология FDS позволяет построить кластер, в котором каждый компьютер способен “общаться” с любым другим одновременно и на полной скорости своего сетевого интерфейса (такая сеть называется full bisection bandwidth network). Microsoft планирует применять архитектуру FDS в дата-центрах, обслуживающих поисковую систему Bing.