В течение последних лет корпорация IBM планомерно выстраивает на базе собственных и приобретенных технологий платформу управления информацией, которая сегодня охватывает все средства, необходимые предприятиям для работы с данными и извлечения из них требуемой информации. Эти средства поддерживают всю «цепочку поставки» – от «сырых» данных в различных источниках к их интеграции, контролю выполнения корпоративных политик с помощью инструментов класса Information Governance, упорядочению с помощью систем управления мастер-данными, оптимизации хранения c помощью средств управления жизненным циклом и, наконец, выявлению ценных сведений с помощью инструментов бизнес-аналитики. Однако сейчас эта картина будет неполной без Больших Данных — соответствующие технологии пока только нащупывают дорогу в бизнес, но уже привлекают все большее внимание по ряду объективных причин. Как следствие, IBM начала продвигать идею интеграции инструментов хранения и аналитики Больших Данных в единую корпоративную платформу управления информацией.

Концепция V 3

В IBM определяют Большие Данные как данные, отвечающие трем ключевым характеристикам, V 3 (volume, variety, velocity): объем, разнообразие и скорость.

Характеристика объема в тройке наиболее очевидна – Большие Данные чаще ассоциируются с колоссальными массивами информации, с которыми приходится сегодня сталкиваться организациям. Терабайты данных по операционной деятельности и результаты их анализа накапливаются в структурированном виде в традиционных хранилищах, однако наибольшая сложность связана с обработкой массивов данных, ежедневно поступающих с сайтов, социальных сетей, различных датчиков, мобильных устройств, системных лог-файлов и т. д. На конференции Information on Demand 2011 (IOD 2011) топ-менеджеры IBM приводили результаты исследования, согласно которым порядка 90% существующих в мире цифровых данных накоплены только за последние два года, а, по прогнозам IDC, к 2020 году масштабы цифрового универсума возрастут в 44 раза по сравнению с 2009 годом.

Разнообразие – вторая ключевая характеристика Больших Данных, которая указывает на то, что речь идет не столько о структурированных данных, сколько о неструктурированных, имеющих различную природу: электронная почта, посты в социальных медиа, видео, аудиозаписи, GPS-координаты, записи в журналах регистрации для сайтов или компонентов ИТ-инфраструктуры, данные с различных сенсоров и т. д. Аналитики BI Research предлагают в отношении всего этого многообразия использовать термин «мультиструктурированные данные", поскольку большинство из них имеют ту или иную структуру, не поддающуюся, однако, описанию с помощью некой единой схемы.

Большие Данные накапливаются, как правило, стремительно и часто требуют очень быстрой реакции для обработки, поэтому третья характеристика — скорость поступления и обработки.

При отсутствии эффективных инструментов работы с Большими Данными компании рискуют в них «захлебнуться» – 60% участников проведенного в 2010 году совместного исследования IBM и MIT Sloan Management Review сообщили, что количество накапливаемой в организации информации превышает возможности ее использования. При этом четверо из пяти респондентов считают информацию жизненно необходимым источником для достижения конкурентных преимуществ: улучшение позиционирования на рынке благодаря анализу высказываний клиентов в социальных сетях, интеллектуальное управление городским трафиком или энергетической сетью на основе анализа данных с датчиков и средств мониторинга, решение задач информационной безопасности и оптимизации ИТ-инфраструктуры путем анализа системных лог-файлов или событий в сети и др. Однако существующий аналитический инструментарий, как правило, не приспособлен к анализу Больших Данных — обработка огромных массивов данных, «отделение зерен от плевел» в постоянном потоке информации, поступающей из разнообразных источников, и получение значимого для пользователя результата в максимально короткий срок или даже в реальном времени требует иных методик, алгоритмов и технологий, чем те, на базе которых построены известные на рынке средства анализа и прогнозирования.

Другая проблема – интеграция новых решений в общий бизнес-контекст. Как подчеркивают в IBM, Большие Данные располагают к тому, чтобы стать очередным информационным «силосом» в ИТ-инфраструктуре компании в силу своего очевидного отличия от всего того, с чем привыкли работать в бизнесе. Однако ценность извлекаемых результатов проявится лишь в том случае, если не будет оторванности от общей, принятой в компании стратегии управления информацией, если Большие Данные и полученные на их основе выводы дополнят оперативный и прогнозный анализ транзакционных данных и будут вписаны в общий контекст задач получения и обработки информации на предприятии. В IBM поясняют, что корпоративные реализации инструментов для Больших Данных должны обладать еще рядом свойств, например необходимо обеспечивать экономически обоснованную масштабируемость платформы, высокий уровень отказоустойчивости и производительности, а также защиту данных. Кроме того, система должна поддерживать разные категории пользователей, как технически искушенных, так и бизнес-пользователей – непосредственных получателей результатов анализа Больших Данных, а значит, должна предоставлять интерфейсные возможности разного уровня. Следуя этим идеям, в IBM предложили свою платформу Больших Данных, позиционируя ее как составную часть единой платформы управления информацией. Основу платформы Больших Данных IBM составляют два продукта семейства InfoSphere – BigInsight и Streams (рис. 1). Первый предназначен для сбора и анализа Больших Данных «в покое», второй – для анализа потоков данных без предварительного их сохранения. Решения опираются на известные проекты с открытым кодом, а также на результаты исследовательских разработок в IBM Research, используют открытые стандарты и поддерживают интеграцию с другими компонентами семейства IBM по управлению информацией.

 

Большие Данные крупным планом
Рис. 1. Платформа Больших Данных IBM

 

Глубокое погружение

В исследовании экспертов BI Research выделяются два подхода к аналитике Больших Данных: store and analyze («хранить и анализировать») и analyze and store («анализировать и хранить»). Первый, прежде чем применить к данным аналитические инструменты, интегрирует их в консолидированном хранилище. Именно на этом принципе строится большинство традиционных аналитических решений, которые используют для анализа хранилища данных, куда предварительно загружаются и где соответствующим образом обрабатываются сырые данные из транзакционных систем. Аналитика на базе реляционных СУБД, оптимизированных для высокоскоростной обработки больших объемов данных, сегодня позиционируется многими производителями как один из способов работы с Большими Данными. Как правило, для этого применяются специализированные высокопроизводительные программно-аппаратные устройства с интегрированными хранилищами и средствами аналитики. В случае с IBM – это система Netezza. Однако, поскольку основная часть Больших Данных является мультиструктурированными, то мэйнстримом аналитической обработки Больших Данных признается платформа Hadoop – развиваемый организацией Apache Software Foundation проект с открытым кодом. Hadoop позволяет распределить данные на множестве узлов кластера, построенного на базе стандартных аппаратных компонентов, и реализовать высокоскоростную параллельную обработку. Система IBM InfoSphere BigInsights — это реализация открытой платформы Hadoop, дополненной рядом технологических компонентов и направленных на решение задач аналитики Больших Данных корпоративного уровня.

В BigInsights используются ключевые компоненты Hadoop: распределенная файловая система Hadoop Distributed File System (HDFS) для хранения и модель программирования MapReduce для параллельной обработки больших массивов данных. Помимо этого, BigInsights включает ряд технологий с открытым кодом, связанных с Hadoop. Высокоуровневые языки программирования Pig, Hive и Jaql упрощают написание программ, работающих по модели MapReduce. Pig – это язык и среда времени выполнения для обработки массивов данных любой природы. Hive позволяет инициировать пакетную обработку и анализ в среде Hadoop с помощью SQL-запросов. Jaql — высокоуровневый декларативный язык, разработанный в IBM и переданный сообществу OpenSource, основанный на JavaScript Object Notation (JSON) и поддерживающий SQL. Языки Hive и Jaql позволяют быстро включить в работу с BigInsights специалистов по реляционным базам данных, а также поддерживать интеграцию с реляционными структурами. В частности, с помощью Jaql в системе реализуются специальные функции для интеграции BigInsights с СУБД DB2 и хранилищем Netezza.

Модель MapReduce предназначена для пакетной обработки больших массивов мультиструктурированных данных и плохо подходит для таких задач, как, например, обработка множества небольших по размеру файлов или эпизодическое обновление данных. Для них предназначена построенная на базе Hadoop поколоночная база данных Hbase. В BigInsights входят также следующие открытые компоненты: Flume – средство для сбора и загрузки данных в Hadoop, Lucene – технология текстового поиска и индексирования, Avro – технология сериализации данных, ZooKeeper – координационный сервис для распределенных приложений, Oozie – технология оркестровки потоков работ.

Перечисленные открытые решения поддерживаются сейчас рядом производителей, предлагающих коммерческие реализации инструментальных сред Hadoop, и надо отметить, что их число увеличивается ежемесячно. Система BigInsights выделяется среди других решений инновационными разработками IBM, воплощенными в наборе технологий, предназначенных для расширения аналитических возможностей Hadoop, а также для упрощения развертывания, использования и администрирования инфраструктуры Больших Данных в корпоративной среде и обеспечения ее безопасности.

От коммерческой реализации среды Hadoop для корпоративного использования будут ждать прежде всего встроенных средств аналитики финансовых и правовых документов, сообщений электронной почты, постов в социальных медиа, новостных сообщений, маркетинговых материалов и т. д. BigInsights содержит встроенный инструментарий обработки таких данных и библиотеку аннотаторов, с помощью которых можно выявлять интересующие элементы в больших объемах текстовых данных, например имена людей, адреса электронной почты или физические адреса, телефонные номера, URL и др., и по ним определять контекст и содержание исследуемых текстов. Кроме того, разработчикам предоставляется модуль расширения Eclipse для разработки собственных функций анализа текстов.

Средства текстовой аналитики в BigInsights адресуются техническим специалистам. Как поясняют в IBM, в подходе компании к использованию среды Hadoop одной из ключевых целей было упрощение работы с заведомо сложными инструментами этого открытого проекта и предоставление средств, позволяющих включаться в анализ Больших Данных нетехническим пользователям. Инструмент BigSheets для обнаружения и визуализации данных c помощью традиционных электронных таблиц решает именно эту задачу.

BigSheets представляет собой веб-консоль, с помощью которой бизнес-аналитики могут инициировать процесс формирования коллекций нужных данных, задав источники данных и решая аналитические задачи по сценарию «что если». После спецификации коллекции BigSheets генерирует задания MapReduce для выборки и обработки необходимых данных. Система поддерживает ряд популярных форматов, а также дает возможность создавать модули расширения для обработки дополнительных форматов. Пользователи BigSheets получают нужные данные в структуре электронной таблицы и могут проводить с ними различные манипуляции с помощью встроенных функций и макросов, генерировать схемы для большей наглядности содержимого таблиц и при необходимости экспортировать результаты в другие системы и форматы.

BigInsights включает каталог приложений, которые могут быть полезны при решении задач аналитики Больших Данных. Среди таких приложений — инструменты для веб-поиска, импорта и экспорта данных, доступа к поисковым механизмам общедоступных форумов и др. Внешним компаниям-разработчикам предоставляется возможность размещать свои приложения в каталоге.

Как отмечают в IBM, сборка в единое целое отдельных программных компонентов из проектов с открытым кодом достаточно утомительный и долгий процесс, поскольку каждый компонент требует загрузки, конфигурирования, тестирования и проверки на совместимость с окружающими модулями. Чтобы избавить от этих сложностей корпоративных пользователей среды Hadoop, в BigInsights предлагается специальный инструмент администратора для автоматизированных инсталляции и конфигурирования выбранных компонентов. Администратор имеет возможность в реальном времени отслеживать ход этих процессов. К своей реализации инфраструктуры Больших Данных IBM добавила управляющую консоль для контроля за статусом работы BigInsights, позволяющую администратору запускать и останавливать узлы кластера, контролировать выполнение заданий MapReduce, оценивать работоспособность системы в целом, запускать и останавливать дополнительные компоненты среды, выполнять навигацию по файловой системе и т.д. Для обеспечения доступа к среде управляющая консоль BigInsights поддерживает механизмы аутентификации по протоколу LDAP и авторизацию на ролевой основе. Система также включает несколько специальных механизмов для оптимизации использования ресурсов и повышения производительности обработки Больших Данных.

Стратегической идеей IBM в отношении Больших Данных является их «бесшовное» включение в общую информационную среду предприятия, поэтому в BigInsights важная роль отводится средствам интеграции с другим корпоративным ПО по управлению данными. Система, предназначенная для сбора и обработки новых для бизнеса типов данных, способна не только предоставить самодостаточные по своей ценности результаты, но и дополнить существующие в компании решения по агрегации и анализу традиционных данных. Кроме встроенных в BigInsights механизмов интеграции с хранилищами на базе DB2 и Netezza, использующих возможности параллелизма связываемых платформ, для связи с другими реляционными структурами предоставляется стандартный JDBC-коннектор.

Сценарии совместного использования платформы Больших Данных и традиционных хранилищ многообразны, но чаще всего, по всей видимости, BigInsights будет служить источником данных нового типа для хранилищ, качественно дополняя спектр доступных источников для аналитических систем (рис. 2). Например, компания может построить более детальные модели предпочтений своих клиентов, связав данные об истории покупок и демографическую информацию, которая собирается в корпоративном хранилище, с данными о поведении пользователей на онлайн-ресурсах, собранными и обработанными с помощью BigInsights.

 

Большие Данные крупным планом
Рис. 2. Сценарий совместного использования платформы Больших Данных

 

Ядром платформы управления информацией является сервер интеграции и централизованного контроля данных Infosphere Information Server, осуществляющий поставку в корпоративные приложения данных, которым можно доверять (trusted data), выполняя необходимые операции по обеспечению качества данных и проверки на соответствие корпоративным и регулятивным нормам. Кроме того, BigInsights поддерживает возможности интеграции с аналитическими пакетами IBM Cognos и SPSS, решениями компании по управлению корпоративным контентом и, конечно, со вторым продуктом платформы Больших Данных InfoSphere Streams.

Система BigInsights представлена в двух редакциях – Basic и Enterprise. Первая – бесплатная, содержит ограниченный набор компонентов и способна управлять массивом данных объемом до 10 Тбайт. Коммерческая редакция Enterprise не накладывает никаких лицензионных ограничений на объемы данных и включает в себя полный набор открытых и разработанных в IBM компонентов.

IBM впервые представила BigInsights в середине 2010 года, а в конце октября 2011 года была анонсирована версия 1.3, в которой реализованы новые средства компрессии данных для снижения требований к объемам хранения и проведен ряд усовершенствований по производительности, инструментам разработки и управляющей консоли. Кроме того, IBM объявила о доступности решения на базе облачной инфраструктуры IBM SmartCloud Enterprise. Это означает, что пользователи смогут получить среду анализа Больших Данных, полностью освободившись от забот по развертыванию сложной инфраструктуры Hadoop. Утверждается, что BigInsights будет поддерживаться в любой облачной модели – публичной, частной или гибридной, и в облаке будут доступны обе редакции продукта.

Не выпасть из потока

Второй подход к аналитике Больших Данных – analyze and store – подразумевает применение аналитических функций к потокам данных, проходящих по сетям и между системами. Результаты такой аналитики могут быть сразу визуализированы на инструментальных панелях или помещены в хранилище данных. Эта модель анализа данных сегодня весьма актуальна, поскольку все больше источников поставляют данные практически непрерывно (RFID, сенсоры и датчики, медицинское оборудование, мобильные пользовательские устройства, и др.), а их анализ имеет смысл, только если его результаты предоставляются в реальном времени. Первым откликом на потребность в подобных решениях стали средства обработки сложных событий (Complex Event Processing, CEP), но реальное разнообразие Больших Данных сегодня требует возможности обрабатывать в динамике больше типов данных, чем это могут присутствующие на рынке решения класса CEP, и применять к ним различные технологии потоковой аналитики. Примеров способных на это систем пока немного, и один из них – IBM InfoSphere Streams.

Решение InfoSphere Streams стало результатом проекта System S, который велся в IBM Research с 2003 года. Оно включает в себя инструменты и платформы их выполнения, ориентированные на создание приложений для аналитической обработки в реальном времени структурированных и мультиструктурированных данных. Как утверждают в IBM, решение Streams позволяет с течением времени модифицировать сам процесс непрерывного анализа — система поддерживает обработку данных с сенсоров, видеокамер, новостных потоков, устройств, снабженных GPS, а также данных с электронных торгов и других источников, включая традиционные базы данных. Streams включает в себя ODBC-адаптеры для интеграции со множеством SQL-источников, в том числе с Netezza, DB2, Informix, резидентной базой данных SolidDB, Microsoft SQL Server, MySQL и Oracle.

 

Большие Данные на практике

На конференции IOD 2011 был представлен проект по внедрению системы BigInsights на базе суперкомпьютера IBM Firestorm, реализуемый в датской энергетической компании Vestas Wind Systems, которая специализируется на генерации энергии с помощью ветряных установок. Основная задача использования данного решения – оптимизация размещения «ветряков» для наиболее эффективной генерации энергии. С этой целью BigInsights собирает и анализирует петабайты структурированных и неструктурированных данных, включая сводки погоды, информацию о фазах приливов и отливов, данные геоинформационных систем и сенсоров, снимки со спутников, карты вырубки лесов и данные моделирования погоды. Первые результаты работы системы показали, что анализ, на который раньше уходило несколько недель, теперь занимает менее часа. Помимо выбора мест размещения ветряных генераторов, в Vestas система анализа Больших Данных IBM будет использоваться для предсказания продуктивности ветряных генераторов, анализа того, как каждая лопасть «ветряка» реагирует на погодные изменения, а также для определения оптимальных сроков проведения техобслуживания. В компании рассчитывают в ближайшие четыре года увеличить объемы анализируемых данных на 20 петабайт.

Британская библиотека внедряет систему BigInsights вместе с разработанным IBM модулем, решающим задачу электронной классификации архива содержимого сайтов Великобритании. Библиотека предоставляет исследователям специальный портал для доступа к оцифрованному культурному наследию страны. Ранее для классификации содержимого страниц 5 тыс. сайтов в домене. uk были задействованы 30 аналитиков, работа выполнялась вручную, поэтому задача ее расширения на весь домен, в который входит порядка 4 млн сайтов, представлялась практически нереализуемой. C использованием BigInsights библиотека предоставит возможность параллельной визуализации обращений к архиву на множестве стандартных ПК, что значительно снизит трудоемкость и стоимость архивирования.

Одной из важнейших областей применения потоковой аналитики является здравоохранение. Анализ защищенных потоков данных, поступающих с медицинских устройств, позволяет выявлять первые признаки заболеваний, коррелировать эти данные для множества пациентов и повышать эффективность принимаемых мер, при этом снижая нагрузку на врачей. IBM сотрудничает с Институтом технологий Университета Онтарио в изучении возможностей использования системы Streams для мониторинга здоровья новорожденных. Результаты этого проекта уже нашли применение в ряде больниц Канады, США, Китая и Австралии.

В технологическом центре городского управления IBM Smarter Cities Technology Center, расположенном в столице Ирландии Дублине, система Streams применяется для получения и анализа GPS-данных с городских автобусов. В реальном времени показывается перемещение всех автобусов и делаются прогнозы о времени их прибытия на каждую остановку. Это позволяет оптимизировать расписания автобусов, сокращать время ожидания и влиять на состояние уличного трафика. В перспективе планируется обеспечивать каждого водителя персональным планировщиком движения, который будет выдавать рекомендации на основе мониторинга трафика в реальном времени.

О проектах с использованием систем BigInsights и Streams в России на данный момент официально не сообщалось.

 

Ключевой характеристикой системы для аналитики в реальном времени является, конечно, производительность. По данным IBM, система Streams способна выполнять непрерывный анализ массивов потоковых данных с временем отклика менее миллисекунды. Оптимизация производительности и задержек, проводимая для обеспечения потребностей приложений непрерывной аналитики, достигается в системе путем формирования таких приложений из низкоуровневых операторов, которые обрабатывают один или несколько потоков данных и взаимодействуют между собой. С помощью таких операторов данные, поступающие из множества источников, фильтруются, классифицируются, преобразуются и коррелируются. Операторы затем объединяются в элементы обработки (processing elements), которые распределяются для выполнения по узлам кластера x86-архитектуры. Управляющие сервисы среды выполнения Streams ведут непрерывный мониторинг производительности операторов, элементов обработки и узлов. Развертывание среды выполнения может масштабироваться от единичного сервера до кластера из тысяч узлов. Streams включает в себя специальные механизмы для балансировки нагрузки, динамического масштабирования, обеспечения высокой доступности и защиты данных.

Для создания приложений по обработке потоков данных Streams предлагает Eclipse-среду разработки Streams Studio и высокоуровневый декларативный язык Stream Processing Language (SPL), который скрывает от разработчика тонкости потоковой обработки, включая в себя множество встроенных операторов и средство создания новых операторов. Дополнительный вклад в обеспечение производительности системы вносит компилятор, преобразующий программы на SPL в исполняемый код, – он имеет возможность идентифицировать операторы с сохранением состояния и без сохранения и на основе этой информации поддерживает многопоточную обработку на многоядерных процессорах.

Streams выпущен в 2009 году, а на конференции IOD 2011 была анонсирована версия 2.0, основные улучшения которой направлены на дальнейшее повышение производительности и усиление возможностей интеграции, в частности был добавлен набор инструментов для поддержки текстовой аналитики и коннектор с файловой системой BigInsights HDFS.

В сложном мире Больших Данных нередки ситуации, когда оптимальным оказывается объединение инструментов анализа данных «в покое» и «в движении». Специалисты IBM обсуждают несколько сценариев интеграции BigInsights и Streams. По одному из них Streams выступает в качестве предварительного фильтра для последующего глубокого анализа в BigInsights. В Streams выполняется очистка, фильтрация, дедупликация, нормализация и, возможно, первоначальный анализ больших объемов постоянно поступающих данных, которые затем помещаются в BigInsights для пакетной обработки. Это позволяет, например, предварительно освободить от «шума» поток сообщений из социальных медиа, к которым затем будут применяться инструменты текстовой аналитики BigInsights. С другой стороны, система BigInsights, накапливающая данные и анализирующая их за определенные периоды времени, может обогащать аналитические приложения Streams дополнительной информацией по потоковым данным, например добавлять к идентификатору пользователя в Twitter данные о степени его влияния в этой социальной сети, полученные на основе анализа его сообщений за какой-то промежуток времени.

Рассматривается также сценарий двунаправленной интеграции, при котором модели, построенные с помощью средств добычи данных, машинного обучения или статистического моделирования в BigInsights, применяются для аналитики реального времени в Streams, и одновременно анализ потоковых данных в Streams дает сигнал о необходимости модификации этих моделей или даже построения новых, если выявлено существенное изменение ситуации.