Собеседник сказал, что понял меня, но при этом отметил, что в его компании использовались устаревшие сетевые протоколы. Корпоративная сеть попросту не справлялась с новыми объемами больших данных и новыми аналитическими требованиями. Сеть задыхалась, и ее поддержание в рабочем состоянии стало для него ежедневным кошмаром. Он поинтересовался, считаю ли я, что и в данном случае технология не является главной проблемой.
Симптом или причина?Распространенным симптомом проблем, связанных с фундаментальным процессом или политикой, является влияние этих проблем на сопряженные с ними технологии. Во многих случаях проблема кроется вовсе не в технологиях. Вы должны различать, в каких случаях технология действительно является причиной проблем, а в каких – всего лишь симптомом скрытой проблемы.
Тогда я спросил у собеседника, почему бы не внедрить в его компании продвинутые сетевые продукты, способные успешно обрабатывать потоки данных и удовлетворять аналитические потребности, с которыми не справлялась существующая сеть. Он признал такую возможность, но сказал, что не может модернизировать сеть, потому что ему не выделяют необходимого финансирования. Тем самым он только подтвердил мою точку зрения. Позвольте мне объясниться.
В этой конкретной ситуации технология не была главной проблемой, ведь необходимые технологические решения доступны на рынке. Проблема же заключалась в том, что команде моего собеседника никак не удавалось убедить руководство компании в необходимости внедрения этой технологии. Команда не могла добиться одобрения своего бизнес-кейса и выделения бюджета, потому что не была отмобилизована на реализацию проекта. Таким образом, хотя технологии были источником постоянной головной боли для его команды, но не они являлись главным источником проблем.
То же самое верно и при внедрении организациями операционной аналитики. В некоторых случаях будет казаться, что именно технология создает барьеры. В таких ситуациях я рекомендую вам посмотреть на ситуацию со стороны – действительно ли технология является причиной, а не симптомом проблем?
Компоненты будут добавляться, а не заменяться
Распространено заблуждение насчет того, что новые аналитические технологии полностью заменят проверенные временем технологии. Разумеется, это не так. В действительности по мере расширения потребностей в аналитике и развития имеющихся технологий компании будут добавлять новые компоненты в аналитическое окружение, а не заменять старые на новые.
Пожалуй, наиболее широко распространено ошибочное мнение о том, что Hadoop (или более широкий класс нереляционных инструментов, к которым принадлежит Hadoop) постепенно заменяет окружение реляционных баз данных. Hadoop – это проект с открытым исходным кодом, позволяющий разбивать крупные файлы на части и обрабатывать их параллельно. (Далее в этой главе мы рассмотрим технологию Hadoop подробнее.) В действительности же Hadoop наращивает реляционное окружение, и им обоим найдется место в аналитических структурах современных организаций.
Такая путаница проистекает главным образом из того факта, что сегодня практически 100 % компаний уже используют реляционную технологию. Соответственно по рынку гуляет множество историй о том, как компании «переходят на Hadoop». Однако выражение «переходят на Hadoop» неверно. Правильнее будет говорить, что компании «добавляют Hadoop». При ближайшем рассмотрении практически во всех случаях мы видим, что Hadoop добавляется к существующему окружению, но никак не все окружение мигрирует на Hadoop.
Путаница усугубляется тем фактом, что обратный сценарий встречается крайне редко. Крайне мало организаций используют только Hadoop без реляционного окружения, и эти редкие исключения сосредоточены в основном в Кремниевой долине. Таким образом, нечасто можно услышать о том, что пользователь Hadoop «переходит на реляционную модель» или «добавляет реляционную модель» к своему окружению.
Одна из крупнейших компаний, которая традиционно использовала только Hadoop и нереляционные подходы, – это Facebook. Как известно, Facebook всегда делала ставку на разработку в своих стенах собственных технологий и проприетарных систем. Действительно, Facebook разработала Hive, один из первых и ныне популярных компонентов языка структурированных запросов, доступный пользователям Hadoop. Тем не менее на конференции, организованной Институтом хранения данных (The Data Warehousing Institute, TDWI) в мае 2013 г., Facebook объявила о том, что добавляет к окружению Hadoop реляционный компонент{43}. Почему она это делает? Потому что команда Facebook поняла: реляционная технология исключительно хорошо решает некоторые из проблем, с которыми сталкивается компания. Facebook очень долго пыталась заставить Hadoop делать то, что платформа не предназначена делать. Комбинация технологий оказалась более разумной и позволила высвободить ресурсы для решения других задач.
Разные платформы – разные преимущества
На первый взгляд Hadoop кажется похожей на параллельные платформы реляционных баз данных. Несмотря на то что все они представляют собой механизм параллельной обработки, между ними существуют большие различия. Возможно, наиболее точную характеристику Hadoop дал один оборонный подрядчик из Вашингтона, округ Колумбия. (Комментарий был сделан на частном мероприятии и на условиях неразглашения, поэтому я не могу ничего конкретизировать.) На этом мероприятии группа экспертов обсуждала проблемы, с которыми сталкивались их организации, когда пытались сделать слишком много и слишком быстро при помощи таких новых платформ, как Hadoop.
Один из экспертов сообщил следующее: «Я понял, что Hadoop превосходно решает именно те задачи, для решения которых эта платформа и была создана за большие деньги такими компаниями, как Google и Yahoo! Если и у вас есть именно такие задачи, например соотнесение ключевых слов в поисковых запросах с содержанием веб-сайтов, тогда и для вас Hadoop станет феноменальной технологией. Если и другие задачи могут быть успешно решены при помощи этой парадигмы обработки, тогда Hadoop тоже окажется очень полезна. Однако существуют такие типы аналитики и обработки, для которых Hadoop совершенно неэффективна по сравнению с другими вариантами». Это вовсе не приговор Hadoop. В действительности ни одна технологическая платформа не может идеально подходить для всех видов обработки и всех ситуаций. У каждой платформы есть свои сильные и слабые стороны. Вот почему, как уже было сказано выше, организациям надо использовать разные технологические платформы и инструменты для разных типов аналитических процессов.
Если вы посмотрите, как работает Hadoop, то увидите, что она превосходно подходит для определенных типов вычислений. Например, таких, где при обработке и хранении данных изначально требуется масштабирование, о чем мы говорили во второй и четвертой главах. Но на момент написания книги Hadoop не предусматривала возможностей масштабирования до общекорпоративного уровня других параметров, таких как безопасность, параллелизм и управление рабочей нагрузкой. Hadoop также замечательно подходит для нетрадиционных типов данных, таких как аудио, видео или текст, которые не были отформатированы в пригодную для аналитики форму и все еще находятся в необработанном и неочищенном виде. Преимущество Hadoop в том, что она позволяет хранить данные без каких-либо ограничений по формату.
Задача, с которой массивно-параллельная реляционная платформа справляется лучше всего, – это работа с уже структурированными высокоценными данными, предназначенными для поддержки широкого круга пользователей и приложений, которые нуждаются в частом повторном использовании этих данных с гарантированной производительностью. Такое свойство реляционных технологий будет часто применяться при превращении традиционной аналитики в операционную.
Не сравнивайте яблоки с апельсинамиРазные аналитические платформы имеют свои сильные и слабые стороны, которые должны быть хорошо изучены и приняты во внимание при планировании аналитического окружения. Многие люди ошибочно полагают, что реляционные и нереляционные технологии, такие как Hadoop, эквивалентны, но на самом деле они не конкурируют, а дополняют друг друга. Сравнивать эти платформы – все равно что сравнивать яблоки с апельсинами.
На вебинаре под названием «Суммарная стоимость данных», состоявшемся в ноябре 2013 г., вице-президент Hortonworks (компании, которая специализируется на разработке и внедрении Hadoop, а также связанных с ней услуг) сделал очень важное заявление. Он сказал: «Мы не видим, чтобы кто-нибудь пытался использовать Hadoop для создания корпоративного хранилища данных [Enterprise Data Warehouse – EDW]. Это вопрос мощности, а не стоимости. Hadoop – это не EDW. Hadoop – это не база данных. Сравнивать эти две технологии с точки зрения рабочей нагрузки EDW – все равно что сравнивать яблоки с апельсинами. Я не знаю никого, кто бы пытался построить EDW в Hadoop». Эти слова никоим образом не принижают значение Hadoop, а просто подчеркивают ее предназначение для решения определенных задач. Точно так же можно сказать: «Я не знаю никого, кто бы пытался использовать реляционную технологию для обработки изображений».