Десять рекомендаций по созданию решения для обработки "больших данных" на основе облака

Освоение "больших данных" проще начать с облака

В статье приводятся десять рекомендаций для компании, которая берется за проект в сфере анализа "больших данных", даже если она решила просто попробовать. Упор делается на решение на основе облака, так как это позволяет избежать многих сложных технических проблем на начальной стадии.

Дэвид Джиллман, директор по обслуживанию, Data Sooner

Photo of David GillmanДэвид Джиллман (David Gillman) имеет более чем 20-летний опыт работы в таких областях, как бизнес-аналитика, углубленный анализ данных и предиктивный анализ. Получив образование в прикладной математике, оптимизации и статистическом анализе, он специализируется на их применении в сфере коммерции. Он имеет практический опыт совершенствования бизнес-операций за счет использования аналитики в организациях различных размеров в таких отраслях, как дистрибуция, производство, розничная торговля и гостиничный бизнес. С Дэвидом можно связаться по электронной почте: gillman@datasooner.com.



04.06.2013

"Большие данные" как ИТ-концепция наступают быстро и твердо. Как и многие другие новые технологии в сфере ИТ, сначала ее осваивают крупные предприятия, а затем начинают перенимать компании малого и среднего бизнеса. Похоже, что и "большие данные" следуют тем же курсом.

Развиваясь в реальном мире, методы "больших данных" начинают применяться и к элементам данных, которые не назовешь "большими". С помощью инструментов, предназначенных для больших данных, и способов, ориентированных на архитектуры больших данных, обрабатываются наборы данных, вовсе не большие по большинству стандартов.

Несмотря на это, многие согласны, что в будущем данных будет становиться все больше, а не меньше; количество источников данных предприятия будет расти, как и скорость этого потока данных. Такое будущее ― строительная площадка для "больших данных". Один из вопросов, касающихся этой площадки: где она будет располагаться — на территории предприятия или в облаке — и какие моменты следует учитывать при выборе услуг?

Определение решения "больших данных" на основе облака

Как и в большинстве случаев, связанных с облаком, определить, что такое облако, не так просто. В пространстве больших данных существует множество разных видов облака, и ни одно определение не универсально (хотя некоторые лучше других).

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

По этой причине возникли Apache Hadoop, MapReduce и другие аналогичные проекты и продукты. Среда больших данных на основе облака должна иметь возможность работать с внешними данными, такими как ERP-системы и другие локальные базы данных, периодически обновляемые свежими данными. (Под внешними здесь понимаются данные, находящиеся за пределами среды больших данных.)

Это вопрос «хранения» данных. Далее, нужен способ анализа и представления результатов этого анализа там, где они будут влиять на бизнес-процессы.

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


Освоение больших данных в облаке

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

1. Универсальная индексация любых машинных данных в режиме реального времени

По мнению большинства, это ядро идеи больших данных; часто это отождествляют с Hadoop, проектом по разработке ПО с открытым исходным кодом (см. раздел Ресурсы). Не путайте индексацию в Hadoop с индексом реляционной базы данных: Индекс Hadoop ― это индекс файлов. Таким образом, Hadoop может "глотать" множество данных самого разного типа.

Уже сейчас компании могут быть завалены данными о движении меток радиочастотной идентификации (RFID), "кликов" на Web-сайтах и из других каналов, которые можно было бы структурировать, если бы у ИТ-персонала было время на то, чтобы превратить их в структурированные данные и поместить в реляционную базу данных. Возможно, это стоило бы вложенных средств, если знать, как будут использоваться эти данные и как часто к ним будут обращаться в будущем.

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

Хранение данных ― лишь часть пути к цели. Информация должна быть относительно доступна. Самый быстрый способ ― предоставить возможность быстрого (в реализации, а не по времени отклика) поиска. Найдите набор инструментов, который обеспечивает текстовый поиск неструктурированных данных. Общепринятый инструмент, который предоставляет возможность индексации текста и поиска в среде больших данных, ― Apache Lucene (Ресурсы).

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

3. Автоматическое извлечение знаний из данных

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

Инструменты интеллектуального и прогностического анализа данных быстро совершенствуются, позволяя использовать большие данные в качестве источника данных для непрерывного анализа в процессе их изменения. Эту задачу решают все инструменты интеллектуального анализа данных. Пользователь определяет цель анализа, исследует данные, а затем разрабатывает статистические модели, полезные для понимания или прогнозирования. Затем эти статистические модели нужно развернуть в среде больших данных для их постоянной оценки. Эта часть работы должна быть автоматизирована.

4. Мониторинг данных и предупредительные сигналы в режиме реального времени

Найдите инструмент для мониторинга больших данных. Существуют инструменты для создания запросов, которые обрабатываются постоянно, проверяя установленные критерии.

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

Например, можно установить сигнал, уведомляющий, что замороженный продовольственный продукт с меткой RFID хранится при недостаточно низкой температуре. Этот сигнал можно направить непосредственно на мобильное устройство, используемое на складе, предотвратив порчу продуктов.

Можно следить за перемещениями покупателей в магазине, воспроизводя на стратегически расположенных мониторах рекламные объявления, точно ориентированные на покупателя, стоящего перед конкретным предметом. (Это футуристическая идея, от которой, быть может, веет авторитаризмом, но в принципе это возможно).

5. Обеспечение мощных средств нерегламентированной отчетности и анализа

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

Некоторые из этих инструментов используют Apache Hive и язык запросов Hive Query Language (HQL; см. раздел Ресурсы). Операторы HQL похожи на операторы языка структурированных запросов (Structured Query Language - SQL), и многие инструменты, обеспечивающие знакомые формы отчетности по большим данным, используют HQL и интерфейс Hive для выполнения запросов посредством MapReduce.

Еще один проект по разработке ПО с открытым исходным кодом для составления отчетов и работы с большими данными ― Apache Pig. Его синтаксис меньше напоминает SQL и больше похож на язык сценариев. Он тоже использует MapReduce для упрощения параллельной обработки.

Поставщик услуг больших данных на основе облака должен допускать обработку операторов Pig и HQL от внешних инициаторов запросов. Это позволяет обращаться к хранилищу больших данных с помощью инструментов по своему собственному выбору, даже тех, которые еще только предстоит создать.

6. Возможность быстро создавать специальные информационные панели и представления

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

Тем, кто не хочет писать свои собственные операторы Hive и использует только оболочку Hive, большинство инструментов позволяет создавать информационные панели с результатами своих запросов. На этом этапе освоения больших данных еще рано приводить много примеров таких информационных панелей. Один прогноз, основанный на истории бизнес-анализа, указывает на то, что информационные панели станут важным внутренним средством доставки обобщенных результатов анализа больших данных. И судя по истории бизнес-анализа, наличие хороших информационных панелей для больших данных будет иметь важное значение для получения и сохранения поддержки со стороны руководства.

7. Эффективное масштабирование до любых объемов данных с применением стандартного оборудования

При использовании облачной службы больших данных это, скорее, теоретический, чем практический вопрос. Приобретение, подготовка и внедрение оборудования, на котором размещаются данные, ― дело поставщика услуг. Выбор оборудования не имеет значения.

Однако благодаря использованию стандартного оборудования эти услуги обходятся относительно дешево. В архитектуре есть некоторые узлы, где имеет смысл использовать «высококачественный» сервер. Однако подавляющее большинство узлов (тех, в которых хранятся данные) в архитектуре больших данных может состоять из «менее качественной» аппаратуры.

8. Обеспечение избирательных, основанных на ролях средств защиты и управления доступом

В мире реляционных баз данных сложность доступа к неструктурированным данным препятствует работе с такими данными. Обычные инструменты отчетности работать не будут. Переход к большим данным ― активный шаг по преодолению этой сложности доступа. К сожалению, меры безопасности, действующие в существующих реляционных системах, обычно не переносятся в системы больших данных.

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

Обращаясь к облачной службе больших данных, следует учитывать необходимость мер безопасности, особенно для среды отчетов и информационных панелей. Хотя поначалу можно оставить аналитиков без присмотра. Это лучший способ культивирования нового мышления.

9. Поддержка коммунальной модели и гибкого развертывания

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

Многие опасаются размещать важные данные в облачной среде. Однако облако предоставляет дешевый и быстрый способ создать установку, чтобы приступить к работе с большими данными. Именно потому, что поставщик облачных услуг помещает данные в архитектуру с обобщенными аппаратными ресурсами.

Было бы лучше разместить свои данные на собственных серверах, поручив управление всей системой кому-то со стороны. Но это экономически неэффективная бизнес-модель, если нет постоянной потребности в больших данных. Компании придется много платить за время простоя, особенно в ходе реализации первых проектов, пока аналитики учатся, играют и изучают большие данные.

10. Интеграция и наращивание с помощью документированных API

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

Большие данных специально предназначены для доступа из специальных приложений. Обычные методы доступа используют интерфейсы прикладного программирования (API) REST (Representational State Transfer). Они есть для каждого приложения в среде больших данных — административного управления, хранения данных и отчетности по данным. Так как все основные компоненты больших данных представляют собой ПО с открытым исходным кодом, эти API хорошо документированы и открыты для широкого применения. Надо надеяться, что поставщик облачных услуг больших данных предоставляет доступ ко всем существующим и будущим API с надлежащими мерами безопасности.


Начало работы в облачной среде больших данных

Выберите поставщика услуг больших данных с учетом этих десяти рекомендаций. Что? Нужна дополнительная информация?

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

Для установки своей собственной среды больших данных требуется знание Java™-технологи и, как правило, Linux® или UNIX®. Так что спросите у потенциального поставщика облачных услуг, как много административной работы придется выполнять и в какой степени его услуги приближаются к модели "под ключ".

Чтобы научиться устанавливать, тестировать и поддерживать среду больших данных, стоит посетить сайт BigDataUniversity.com (см. раздел Ресурсы). Регистрация на нем бесплатная. Многие часы видеозаписей организованы по предметам, и по многим из этих предметов сайт даже выдает сертификаты соответствия. На момент написания статьи предоставляется возможность бесплатной загрузки электронной книги Hadoop для "чайников" (EN).

Параллельно с обучением заведите экземпляр среды больших данных у одного из поставщиков облачных услуг. Несколько учебных предметов на BigDataUniversity.com охватывают установку и использование больших данных в IBM SmartCloud и Amazon Web Services. Эти (и другие) облачные службы значительно упрощают установку и развертывание среды. Используйте учебные видеозаписи с BigDataUniversity.com, и вы преодолеете препятствия на пути к установленной и испытанной системе больших данных для первоначального использования.

К счастью, облачные службы снимают много вопросов, связанных с техническим обслуживанием среды больших данных. Конечно, они позаботится и о создании условий для работы оборудования и размещения серверов. Вам придется лишь хранить свои данные, добавляя по мере необходимости новые серверы и хранилища.

Большие данные ― это обучение и накопление опыта для всех. На рынке постоянно появляются разнообразные новые инструменты. Поставщики инструментов бизнес-анализа предоставляют средства для их использования в среде больших данных.

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

Ресурсы

Комментарии

developerWorks: Войти

Обязательные поля отмечены звездочкой (*).


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Профиль создается, когда вы первый раз заходите в developerWorks. Информация в вашем профиле (имя, страна / регион, название компании) отображается для всех пользователей и будет сопровождать любой опубликованный вами контент пока вы специально не укажите скрыть название вашей компании. Вы можете обновить ваш IBM аккаунт в любое время.

Вся введенная информация защищена.

Выберите имя, которое будет отображаться на экране



При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Обязательные поля отмечены звездочкой (*).

(Отображаемое имя должно иметь длину от 3 символов до 31 символа.)

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Вся введенная информация защищена.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Облачные вычисления
ArticleID=932646
ArticleTitle=Десять рекомендаций по созданию решения для обработки "больших данных" на основе облака
publish-date=06042013