Big Data: проблема, технология, рынок
Разнообразие форматов данных (Variety)
Скорость поступления и обработки информации
Организация и управление Big Data
Аналитическая обработка Big Data и выявление закономерностей
Средства поддержки принятия решения
Big Data — один из наиболее часто упоминаемых сегодня терминов в ИТ-публикациях. Однако, как это часто бывает с новыми понятиями, при краткости термина его смысл весьма расплывчат. Согласно англоязычной Википедии, Big Data — это наборы данных такого объема, что традиционные инструменты не способны осуществлять их захват, управление и обработку за приемлемое для практики время. Но, согласитесь, в этом смысле проблема «больших данных» существовала на протяжении всей истории развития ИТ. Всегда возникало желание обработать большие массивы данных за минимальное время, и всегда для этого оказывалось недостаточно мощности существующей ИТ-инфраструктуры. Почему же этот термин стал так актуален именно сейчас? И почему его толкования различаются от публикации к публикации? Попробуем разобраться.
Прежде всего отметим, что под термином Big Data в разном контексте могут подразумеваться данные большого объема, технология их обработки, проекты, рынок и даже компании, активно использующие эту технологию. Для того чтобы прояснить смысловое наполнение термина, необходимо рассмотреть все перечисленные аспекты, что мы и постараемся сделать в настоящей статье.
Очевидно, что так или иначе термин связан с проблемой накопления огромных массивов данных. Статистика поражает. За последние три года человечество произвело информации больше, чем за всю историю своего существования до 2008 года. И рост продолжается экспоненциально. По данным IDC, в 2011 году данных будет создано более 1,75 зеттабайт, что на порядок больше, чем в 2006 году (рис. 1), а в период между 2009-м и 2020 годом объем данных увеличится в 44 раза и составит 35 зеттабайт.
Рис. 1. Объем создаваемой информации в мире (в эксабайтах)
и доступные ресурсы хранения данных (источник: IDC)
Поскольку в повседневной практике мы не привыкли оперировать эксабайтами и зеттабайтами, для упрощения восприятия дальнейшего текста напомним читателям терминологию обозначения объема данных (табл. 1 и табл. 2).
Как видно из рис. 1, в 2006 году объем созданной информации был соизмерим с объемом ресурсов, доступных для ее хранения, однако уже в 2007 году информации было произведено больше, чем средств для ее хранения, и данная тенденция стала усиливаться.
Рис. 2 иллюстрирует динамику роста данных, объясняя ее экспоненциальный характер ростом вычислительных средств, приложений и пользователей — от миллионов в эпоху мэйнфреймов до сотен миллионов в эпоху ПК и миллиардов пользователей в эпоху мобильных устройств, мобильного Интернета, социальных сетей, «облачных» технологий и построения всевозможных решений «умной» экономики.
Рис. 2. Схема роста компьютерных приложений и их пользователей
Действительно, сегодня поток данных растет с невероятной скоростью. Данные поступают с разного рода устройств безопасности, проводится мониторинг износостойкости и прочности ответственных изделий. Огромные массивы данных генерируются в научных экспериментах, таких как регистрация метеорологических данных и астрономических наблюдений. Один только архив телескопа «Хаббл», накопленный за 15 лет, занимает около 25 Тбайт. В повседневной жизни мы сталкиваемся со всё возрастающим объемом данных — они поступают с экрана ПК, планшетника, мобильного телефона, приборных панелей автомобиля, радиочастотных идентификаторов, даже бытовые предметы, такие как кроссовки, и те могут генерировать данные (рис. 3). Множатся мобильные устройства и медицинские приложения, способные измерять пульс, давление и режим тренировки. По данным Terradata, в 2011 году примерно 31 млн американцев стали пользователями приложений для мобильных устройств, предназначенных для мониторинга здоровья.
Рис. 3. Количество устройств, генерирующих потоки данных,
растет с каждым годом (источник: McKinsey)
Для оптимизации любых рабочих процессов требуется информация. В развитых странах даже в сельском хозяйстве информатизация достигла невиданных масштабов. На ферме в США одна корова генерирует 200 Мбайт информации в год. Мониторинг и оптимизация содержания животного позволяют увеличить надои молока.
Отдельная тема — Интернет и мобильные технологии. Потоки информации генерируются всё новыми интернет-сервисами, социальными сетями, приложениями электронной торговли, приложениями о местонахождении абонентов сетей и т.п. Количество e-mail, отправляемых каждую секунду в мире, — 2,9 млн. Объем видео, закачиваемого на YouTube каждую минуту, — 20 часов. Объем данных, обрабатываемых Google за день, — 24 петабайт. Количество сообщений на Твиттере в день — 50 млн. Количество минут, проведенных в Facebook в месяц, — около 700 млрд. Объем данных, переданных/полученных на мобильные устройства, — 1,3 эксабайт. Количество продуктов, заказываемых в Amazon в секунду, — 72,9.
При огромном объеме данных постоянно растущего числа вебстраниц это лишь вершина айсберга, большую же его часть составляют данные о данных. Аналитикам и интернет-маркетологам интересно не только содержание вебсайтов, но и обширная информация о пользователях: их привычки, история посещенных страниц, рекламные предпочтения, круг общения и знакомства. Именно это позволяет продвигать товары и рекламу в Интернете. Мы можем только предполагать, насколько подробно можно проанализировать наше поведение по истории посещений в Сети. Очевидно, что для этого нужно обрабатывать действительно гигантские объемы данных (рис. 4).
Рис. 4. Объемы данных, накапливаемых в интернет-приложениях
Анализируя данные, можно создавать новые сервисы и продукты, оптимизировать бизнес, а следовательно, зарабатывать деньги. По сути технология Big Data не есть чтото принципиально новое. Просто на современном этапе развития технологий появились средства, позволяющие хранить, обрабатывать и анализировать такие объемы данных, что стал меняться принцип подхода к их анализу. Аналитики рассуждают следующим образом: «Мы не знаем, нужна ли нам информация, а если нужна, то какая, до тех пор, пока не проанализируем, насколько она взаимосвязана». Стоимость хранения информации настолько снизилась, что появилась возможность собирать всё больше данных и анализировать, казалось бы, не связанные друг с другом факторы. Данные собираются исходя из принципа «мы не знаем, чего мы не знаем». Человеческий мозг не может обнаружить такие закономерности, какие отмечает компьютер, выдавая совершенно неожиданные количественные взаимосвязи. Например, он может количественно связать площадь того или иного цвета на обложке журнала с вероятностью его продаж в такомто месяце года.
Технология Big Data предоставляет услуги, помогающие раскрыть коммерческий потенциал мегамассивов данных за счет поиска ценных закономерностей и фактов путем объединения и анализа больших объемов данных.
Говоря об инструментарии в подходах Big Data, следует отметить, что необходимость обработки качественно новых объемов структурированных и неструктурированных данных показала: традиционные подходы к их хранению и обработке стали неэффективными, а следовательно, необходимы новые технологии. Учитывая масштабность задач, перед бизнесом встала задача не только выбора адекватного инструментария по анализу информации, но и построения оптимальной вычислительной инфраструктуры, которая была бы эффективной и не очень дорогой. Всё это подводит к более полному определению Big Data.
Характеристики технологии
Forrester определяет понятие Big Data как технологию в области аппаратного и программного обеспечения, которая объединяет, организует, управляет и анализирует данные, характеризующиеся «четырьмя V»: объемом (Volume), разнообразием (Variety), изменчивостью (Variability) и скоростью (Velocity) — рис. 5. Рассмотрим каждую из этих составляющих.
Рис. 5. Границы применения традиционных BI- и Big Data-технологий
(источник: Forrester)
У компаний, которым необходимо хранить и осуществлять доступ к большему объему данных, есть два варианта: первый — приобрести более мощный компьютер с большим количеством процессоров, оперативной памяти, дискового пространства и т.д. Это называется масштабированием по вертикали — scale vertically или scale up, то есть добавление ресурсов на один вычислительный узел.
Второй вариант — горизонтальное масштабирование (scale horizontally или scale out), которое базируется на добавлении дополнительных вычислительных узлов, то есть предоставляет возможность добавлять в систему дополнительные компьютеры и распределять работу между ними. Горизонтальное масштабирование позволяет построить высоконадежное решение с обеспечением должной степени резервирования на базе недорогих стандартных компьютеров, каждый из которых обладает невысокой надежностью. Сотни и даже тысячи маломощных компьютеров, объединенных в кластер, могут обеспечивать вычислительную мощность суперкомпьютеров.
Объем данных (Volume)
Мы описали лавинообразный рост объема данных в научных и персональных приложениях. Дополним картину информацией о том, какие объемы данных накопили корпорации. Только в США это более 100 Тбайт данных. При этом в разных вертикальных индустриях объем данных существенно различается, а следовательно, актуальность применения технологии Big Data в них различна (рис. 6).
Рис. 6. Объем накопленных данных в корпорациях
из разных сфер деятельности (источник: McKinsey)
Разнообразие форматов данных (Variety)
Способность приложения обрабатывать большие массивы данных, поступающие из разных источников в различных форматах, является главным критерием отнесения его к технологии Big Data. Обычно Big Data-приложения объединяют данные из разных источников (как внутренних, так и внешних по отношению к организации) и разной степени структурированности (структурированные, слабоструктурированные и неструктурированные). Многие бизнес-задачи и научные эксперименты требуют совместной обработки данных различных форматов — это могут быть табличные данные в СУБД, иерархические данные, текстовые документы, видео, изображения, аудиофайлы и т.д. Пример подобного рода задачи из области медицины: как найти оптимальный курс лечения для конкретного пациента, базируясь на огромном количестве историй болезней пациентов (которые постоянно меняются), а также на базе данных медицинских исследований и геномных данных? Другой пример — из области оптимизации бизнес-процессов: как провести анализ структурированных данных из ERP-приложения, а также слабоструктурированных данных в виде логфайлов и неструктурированного текста из отзывов покупателей? Третий пример — из сферы прогнозирования погоды: как выполнить анализ климата на базе многолетних метеорологических данных и данных, поступающих со спутника в реальном времени?
Скорость поступления и обработки информации
В ряде задач может потребоваться очень высокая скорость обработки данных. Например, биржевым игрокам иногда нужно мгновенно принять решение, основываясь на большом количестве данных о состоянии рынка, — за пару секунд ситуация уже может измениться. Существует также целый ряд задач, когда решение нужно принимать в реальном времени, например обработка биометрических данных, получаемых в огромном потоке людей, которые необходимо сверить с базой данных о злоумышленниках. Очень большая скорость поступления данных характерна для многих научных задач. Например, проект по запуску гигантского радиотелескопа с суммарной площадью антенн 1 км2, который планируется запустить в 2015 году, предполагает передачу сигналов с одной антенны со скоростью 160 Гбит/с, что в 10 раз превышает весь нынешний интернет-трафик.
Ценность для бизнеса
Компания IDC тоже выделяет «четыре V», характеризующие данные, однако это уже несколько иной набор: объем (Volume), разнообразие (Variety), скорость (Velocity) и ценность (Value). То есть параметр Variety (изменчивость), который применяет компания Forrester, она заменяет на параметр Value (ценность). IDC подчеркивает, что параметр Value — один из основных, позволяющих выделить Big Data как новое явление. Он относится к экономическому эффекту, который технология Big Data обеспечивает пользователям. Действительно, большие хранилища данных в сфере финансовых услуг, телекоммуникаций, розничной торговли и государственных организаций существовали на протяжении многих лет. Применялись решения по обработке данных в реальном времени для управления бизнес-процессами, например в торговле, а также высокопроизводительные вычислительные системы для научных исследований. Различие их состоит в том, что те системы, которые раньше решали отдельные проблемы бизнеса на больших предприятиях, сегодня становятся основой осуществления их бизнес-стратегии.
Технология Big Data позволяет уменьшить расходы на ИТ-инфраструктуру и ПО, сократить затраты на рабочую силу за счет более эффективных методов интеграции данных, управления, анализа и выработки решения; обеспечить увеличение дохода и прибыли путем новых или более эффективных способов ведения бизнеса. То есть на современном этапе те же самые технологии представляют качественно новую ценность для предприятия. Возрастание степени влияния Big Data в современных корпорациях иллюстрирует табл. 3.
При этом сочетание использования ПО с открытым исходным кодом и снижение цен аппаратных систем сделало эти технологии более доступными. Системы, доступ к которым предоставлялся ранее только государственным учреждениям или немногим крупнейшим компаниям, теперь стали доступны для гораздо более широкого числа пользователей, что сформировало сравнительно массовый рынок на подобные услуги.
Очевидно, что компании, которые сумеют извлечь из доступных им данных больше полезной для себя и своего бизнеса информации, окажутся в выигрыше. MacKinsey приводит количественную характеристику данного положения (рис. 7).
Рис. 7. Лидеры по применению Big Data-технологий
и их конкуренты (источник: MacKinsey)
На рис. 7 показаны оборот и EBITDA компаний, которые применяют Big Data-технологии, и насколько это помогает им получить конкурентные преимущества.
Big Data как рынок
Если рассматривать Big Data как рынок, то полезно ответить на вопрос, кто является пользователями и потребителями на нем, какие процессы они автоматизируют и какие технологии для этого используются.
Потребители — это организации, являющиеся, как правило, и пользователями решения, и производителями данных, которые должны быть обработаны, а в большинстве случаев — еще и исполнителями работ по аналитической обработке данных. Отметим, что по мере удешевления технологии Big Data к числу ее пользователей добавляется всё больше заказчиков из средних предприятий.
Автоматизируемые процессы: сбор данных, их обработка, поддержка принятия и исполнения решений. Эти шаги состоят из множества подопераций, таких как мониторинг, обнаружение, измерение, оповещение, очистка, анализ и архивирование.
Таким образом, технологию Big Data можно рассматривать как некий стек технологий (рис. 8).
Рис. 8. Стек Big Data
ИТ-инфраструктура
ИТ-инфраструкутра для задач класса Big Data всё чаще строится на базе стандартных серверов, сетей, СХД, гипервизоров и кластерного ПО, что позволяет удешевить решение. Комплексы, построенные путем масштабирования стандартных x86-серверов наряду с использованием сетевых технологий Ethernet 10GbE, позволяют достигать вычислительных мощностей, которые в прошлом были доступны только на специализированных суперкомпьютерах. Следует отметить, что «облачная» инфраструктура — это удобная технология для работы с большими объемами данных.
Организация и управление Big Data
Технологии для организации и управления данными относятся к программному обеспечению, которое обрабатывает и готовит все виды структурированных и неструктурированных данных для анализа. Эти приложения отвечают за извлечение, очистку, нормализацию и интеграцию данных. Они включают подходы реляционных баз данных, но всё-таки в большей мере — NoSQL-подходы. Такой подход направлен на реализацию моделей баз данных, отличных от используемых в традиционных реляционных СУБД с доступом к данным средствами языка SQL. Подход NoSQL не является полным отрицанием языка SQL и реляционной модели и исходит из того, что SQL — это полезный инструмент, но отнюдь не оптимальный при работе с данными очень большого объема и в проектах с разнородными данными. Основные положения при разработке такого типа систем — нереляционная модель данных, открытый исходный код, хорошая горизонтальная масштабируемость.
Аналитическая обработка Big Data и выявление закономерностей
ПО для аналитической обработки Big Data и выявление закономерностей — это большая группа приложений, которая может быть классифицирована по разным принципам. Приложения для офлайновой обработки или онлайновой обработки по запросу, средства выявления закономерностей в данных, приложения для различных вертикальных областей, например решения для розничной торговли, оптимизации транспортных потоков и т.п. Данное ПО также может быть классифицировано по типу данных, которые анализируются: текстовые, аудио, видео, сетевые структуры. Кроме того, приложения можно разделить по степени сложности задач: базовая агрегация или сложные прогнозные задачи.
Средства поддержки принятия решения
В большинстве практических приложений анализ данных не является самоцелью. Если мы говорим об автоматизации бизнес-задач, то решение должно включать замкнутый цикл модели принятия решений, который содержит такие шаги, как мониторинг, анализ, поддержка принятия решения и автоматизация его исполнения. Следует выделять два класса ПО поддержки принятия решений: ПО поддержки принятия решений в транзакционных и проектных управленческих задачах. Первые требуют высокой степени автоматизации, функционирования в режиме реального времени и потоковых данных. Принятие решений базируется на политиках — на основе выбора действий, предписанных той или иной ситуацией. В качестве примера можно привести выявление случаев мошенничества, оптимизацию торговли ценными бумагами, оптимизацию цен на авиабилеты, рекомендацию товаров в системах электронной коммерции и т.п.
Второй тип ПО — обычно это анализ по запросу, включающий выявление закономерностей в данных, прогнозирование некоторых событий и принятие решений на основе данного интеллектуального предсказания. Примеры включают приложения для сегментации клиентов, исследование закономерностей в проектировании фармацевтических препаратов, исследование закономерностей в залегании природных ресурсов, прогнозирование погоды.
Технологии Big Data могут использоваться как в транзакционных, так и в проектных задачах.
Как видно из рис. 9, в разных индустриях перспективы внедрения технологии Big Data различны. Например, потенциал применения Big Data в правительственных организациях один из наиболее высоких, однако индекс легкости захвата данных минимален.
Рис. 9. Сравнительный индекс потенциала применения технологии Big Data
и индекс легкости захвата данных в разных вертикальных индустриях
Примеры реализации
Из примеров реализации технологии Big Data наиболее часто упоминается проект Hadoop — по осуществлению распределенных вычислений для обработки больших объемов данных, который создается в рамках Apache Software Foundation. Коммерческую поддержку проекта осуществляет компания Cloudera. В проекте участвуют разработчики со всего мира. С технологической точки зрения Apache Hadoop — это свободный Java-фреймворк, поддерживающий выполнение распределенных приложений, работающих на больших кластерах, которые построены на стандартном оборудовании. Поскольку обработка данных организуется на кластере серверов, если один из них выходит из строя, работа перераспределяется между оставшимися. В Hadoop реализована технология MapReduce, которая обеспечивает автоматическое распараллеливание данных и их обработку на кластерах. Ядром Hadoop служит отказоустойчивая распределенная файловая система HDFS (Hadoop Distributed File System), оперирующая системами хранения. Она разбивает входящие данные на блоки, каждый из которых попадает на отведенное ему место в пуле серверов. Система позволяет приложениям масштабироваться до уровня тысяч узлов и петабайт данных.
Позднее на рынке появился целый ряд решений, в которых использовались принципы, реализованные в MapReduce. К ним можно отнести продукты компаний Teradata, Aster Data, Netezza, DATAllegro, Microsoft (SQL Server, Project Madison), Dataupia, Vertica, ParAccel, Neoview, Greenplum, IBM (DB2, проект Database Partitioning Feature) и Oracle (проект Exadata).
Об интересе крупных вендоров к технологии Big Data свидетельствуют их приобретения последних лет. Так, в 2010 году IBM купила Netezza — производителя программно-аппаратных комплексов для BI-систем и аналитических хранилищ данных — приблизительно за 1,7 млрд долл. Сегодня IBM предлагает решение в области хранилищ данных семейства IBM Netezza, предназначенное специально для выполнения сложной аналитики на сверхбольших объемах данных. В 2010 году EMC приобрела компанию Greenplum Software, занимающуюся организацией информационных хранилищ. Фирма Greenplum разрабатывает программные средства баз данных для организации хранилищ данных и интеллектуальных ресурсов предприятий. У Greenplum есть несколько значительных инвесторов, в том числе Sun Microsystems и SAP Ventures. База клиентов компании включает Skype, Equifax и T-Mobile Fox Interactive Media.
Сегодня ЕМС позиционирует себя как производителя, обладающего полным стеком решений для построения «облачной» инфраструктуры для хранения и работы с «большими данными».
Оба игрока — IBM/Netezza и EMC/Greenplum — отмечены компанией Gartner как представители квадранта лидеров (рис. 10).
Рис. 10. Магический квадрант провайдеров решений
в области систем управления хранилищами данных (источник: Gartner, январь 2011)