Большие данные в облаке

Скорость, объем, разнообразие и достоверность данных

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

Сэм Б. Сиверт, старший преподаватель, University of Alaska Anchorage

Сэм Сиверт – фотографияДоктор Сэм Сиверт (Sam B. Siewert) работает старшим преподавателем на факультете информатики и вычислительной техники в Университете Аляски, Анкоридж. Он также является приглашенным старшим преподавателем в Университете Колорадо, Боулдер, где читает несколько летних курсов на факультетах электротехники, вычислительной техники и энергетики. С 1988 года доктор Сиверт работал инженером-разработчиком компьютерных систем в аэрокосмической и телекоммуникационной отраслях, а также в отрасли хранения информации. В сферу его интересов как исследователя и консультанта входят масштабируемые системы, компьютерное и машинное зрение, гибридная реконфигурируемая архитектура и операционные системы. Он также интересуется теорией систем реального времени, цифровыми медиа и фундаментальными вопросами компьютерной архитектуры.



13.11.2013

В статье рассматриваются приложения, использующие большие данные, а также основные концепции анализа больших данных в сочетании с приложениями бизнес-аналитики (BI) и параллельными технологиями, такими как компьютерное зрение (CV) и машинное обучение (см. часть 3 серии Облачное масштабирование).

Анализ больших данных отличается от анализа видео разнообразием типов обрабатываемых данных и инструментами для интерактивного анализа и поиска (сравните, например, глубинный анализ данных или методы MapReduce, более изощренные, но более медленные, с сервисом Google BigQuery, которой использует столбцовый поиск для сжатия и ускорения интерактивных запросов к огромным объемам неструктурированных данных). В документе Google "Взгляд изнутри на Google BigQuery" (см. раздел Ресурсы) утверждается, что BigQuery способен выполнить поиск регулярного текстового выражения в огромной таблице журналирования (содержащей 35 миллиардов строк и имеющей размер 20 ТБ) за несколько десятков секунд. Функциональность MapReduce этого инструмента работает гораздо медленнее, но способна выполнять сложную обработку данных.

Воспользоваться сервисом BigQuery может любой владелец учетной записи Google. Однако есть более быстрый способ испытать поиск по большим данным – загрузить мою фотографию в Google Images. Вы должны получить все страницы с моим изображением (от IBM, Университета Колорадо в Боулдере и т.д.) и как минимум один ошибочный результат. Я использовал этот способ, чтобы проверить атрибуцию моих фотографий и убедиться, что они находятся в открытом доступе. Этот и другие приведенные здесь примеры дают представление о смысле больших данных: найти иголку в стоге сена неструктурированных данных, а точнее – в миллионах стогов.

Определение больших данных

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

Появляются и новые источники больших данных, такие как машинное генерирование (например, log-файлы или данные сенсорных сетей), мобильные устройства (видео, фотографии и текстовые сообщения) и системы машина-машина, когда "Интернет вещей" сообщает о состоянии в целях планирования обслуживания парка автомобилей или самолетов либо в целях телеметрического мониторинга. Большие данные – это прежде всего объем. По оценкам IBM, в настоящее время создается 2.5 квинтиллиона (2 500 000 000 000 000 000) байт данных ежедневно (см. раздел Ресурсы). Во-вторых, это скорость передачи данных, растущая с ростом пропускной способности сети; в настоящее время это, как правило, гигабитные (а уже не мегабитные) скорости (GigE, 10G, 40G, 100G). В-третьих, это разнообразие типов неструктурированных данных, таких как цифровые видеопотоки, данные сенсорных сетей и log-файлы. Наконец, это достоверность данных – насколько при принятии решений можно доверять данным, собранным в таких больших объемах на таких высоких скоростях. Трудно быть уверенным, что данные не подделаны, не повреждены и поступают из ожидаемого источника, – если это, например, данные от тысяч видеокамер, ежечасно снимающих многие тысячи видеокадров,. Давайте кратко обрисуем некоторые ключевые аспекты больших данных, приложений и систем, чтобы лучше понять их.

Источники больших данных

Основной причиной появления больших данных являются достижения в области мобильных устройств, такие как цифровое видео, фотографии, аудио, а также современные системы электронной почты и обмена текстовыми сообщениями. Пользователи получают данные в количествах, которые нельзя было представить десять лет назад; при этом появляются новые приложения, такие как Google Translate, предоставляющие функции сервера больших данных – перевод произнесенных или введенных с мобильных устройств фраз. Корпорация IBM в отчете "Тенденции развития технологий в 2013 году" (см. раздел Ресурсы) говорит в первую очередь о доступе к большим данным с мобильных устройств и характеризует большие данные по объему (volume), разнообразию (variety), скорости (velocity) и достоверности (veracity). , эти данные гораздо менее структурированы, чем записи в реляционных базах данных, но могут быть прокоррелированы с ними. В статье подробно объясняется, что представляют собой большие данные.

Возможно, лучший способ понять большие данные – проанализировать их историю, как сделал журнал Forbes (см. раздел Ресурсы). Конечно, за прошедшее с моменты выхода статьи время рост больших данных еще ускорился и на сегодня составляет более 2.5 эксабайтов в день. Интересно, что большинство этих данных технически невозможно проанализировать силами человека (для этого каждый из 7 миллиардов жителей планеты должен был бы просматривать более 300 МБ информации ежедневно). С учетом этой проблемы единственным логичным способом использовать такой объем данных являются системы машина-машина или интеллектуальные запросы к большим данным. Кроме того, если данные хранятся длительное время, как узнать, не были ли они повреждены? Можно, конечно, хранить дайджесты данных (например, MD5 – одну из форм контрольной суммы) и использовать избыточный массив независимых дисков (RAID-зеркалирование, XOR-четность или стирающие коды для обнаружения и восстановления поврежденных данных), но существует возможность неотслеживаемого повреждения данных (см. раздел Ресурсы).

Организация Internet Archive (Архив Интернета), выполняющая долгосрочное хранение данных, исследовала эту проблему. В целом достоверность больших данных является проблемой, но стирающие коды и методы создания расширенных дайджестов данных обещают ее решение. Традиционные методы, такие как XOR-четность или простое зеркалирование (которые обеспечивают только защиту от потери данных при сбоях устройств хранения и не работают в сценариях повреждений, вызванных ошибками в программном обеспечении, ошибками оператора датацентра или выходом носителя из строя с течением времени), в настоящее время заменяются массивами RAID-6 и усовершенствованными кодами стирания. Концепция долговечности данных больших данных стала важной проблемой; я занимался исследованием этой темы с помощью математических моделей, работая в Intel и Amplidata. При таком количестве данных идея проверки их достоверности человеком просто нереализуема, а отсутствующие данные могут остаться необнаруженными, пока к ним не будет выполнен запрос в далеком будущем.


Конструирование систем больших данных

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

Чтобы лучше понять большие данные, внимательнее посмотрите на облачные сайты, которые имеют достаточные объем данных (обычно измеряемый в петабайтах) и инструменты для запросов (обычно измеряемых в терабайтах). Мы привыкли использовать Google для повседневных запросов, но Google также предоставляет сервис BigQuery, в котором применяются более сложное столбцовое хранение и поиск (подробно обсуждаются в примере). Другими хорошо известными примерами являются Facebook (социальные сети), Wikipedia (энциклопедии), Internet Archive (цифровые архивы), DigitalGlobe (географические информационные системы – ГИС), Microsoft® Virtual Earth (ГИС), Google Earth (ГИС) и многочисленные новые поставщики сервисов больших данных.

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


Приложения для работы с большими данными

Идеи революционных приложений на основе компьютерного зрения и анализа видео возникают постоянно, но для реализации многих из них, возможно, потребуются годы из-за требований к вычислительным ресурсам и стоимости реализации. Тем не менее есть целый ряд интересных вариантов:

  • Анализ настроений на фондовом рынке с использованием Google Trends показывает, что они хорошо коррелируют с изменением индексов в прошлом, что, возможно, неудивительно, но для нас этот сервис интересен как приложение для работы с большими данными. В статье "Количественная оценка поведения на финансовых рынках с помощью Google Trends" (см. раздел Ресурсы) приведены доказательства того, что длинные и короткие сделки купли-продажи акций на основе анализа настроений могут быть перспективнее долгосрочного инвестирования и инвестирования в индексные фонды. Это исследование, требующее, несомненно, более глубокого анализа, является очень интересным. Интересно посмотреть, что произойдет, когда наряду с существующей программной торговлей ценными бумагами появятся системы машинной торговли, основанные на этом принципе.
  • Программа для работы с фотографиями Picasa, предоставляемая Google, является полезным инструментом, который позволяет пользователю выполнять сортировку, поиск и автоматическую идентификацию лиц, используя методики компьютерного зрения в сочетании с машинным обучением. Это отличный способ получить представление о значении сервисов и приложений для работы с большими данными. Он дает понять, что для анализа больших данных потребуются передовые методы, такие как компьютерное и машинное зрение.
  • Рекомендательные системы, такие как Pandora (музыка), Netflix (фильмы) и Amazon (книги и другие товары) используют данные о клиентах и несколько агентов в рамках подхода, известного как совместная фильтрация. Подобный сервис для работы с большими данными был предметом глубоких исследований в области машинного обучения и глубинного анализа данных. Очевидно, что способность делать хорошие рекомендации позволяет увеличить продажи и удовлетворенность клиентов.
  • Анализ клиентской базы позволяет получать аналитическую информацию о настроениях клиентов на основе данных социальных сетей (таких как Фейсбук или Твиттер) и связывать эти текстовые данные с бизнес-аналитикой, полученной из традиционных транзакционных клиентских записей. Анализ настроений позволяет бизнесу знать, что думают клиенты о его товарах, какими товарами интересуются (его или конкурентов), что им нравится и не нравится и т.д.
  • Сгенерированные машинами данные сенсорных сетей (данные датчиков, встроенных в большие системы, такие как городской транспорт, светофоры и общая инфраструктура), систем машина-машина (данные датчиков или журнальные данные одной машины, работающей, как правило, в полевых условиях, которые передаются в другую машину) и журнальных файлов (данные, чаще всего используемые ИТ-специалистами для отладки и управления системами в нештатных ситуациях и игнорируемые до тех пор, пока в них не возникнет потребность при выполнении восстановительных или непрерывных работ).
  • Системы бронирования, которые совершенствуются путем включения предпочтений клиентов, логистики и предшествующей истории, предоставляя полезные советы по решению неизменно трудной задачи планирования путешествия
  • Социальные сети развлекательного назначения берут на себя социальный аспект неофициального обсуждения телевидения и кино, поскольку сегодня цифровые медиа позволяют кому угодно смотреть что угодно, где угодно, когда угодно и делиться своим мнением в социальных сетях. Это делает потребление контента более приятным, а также позволяет его создателям, сценаристам и актерам изучить свою аудиторию лучше, чем когда бы то ни было.
  • Медицинская диагностика часто включает в себя основанные на правилах экспертные системы поддержки принятия решений (decision support systems – DSS), которые благодаря технологиям больших данных имеют шанс выйти из стадии исследований и стать стандартными помощниками врачей. Например, исследование новой DSS для психологической оценки пациентов с высоким риском суицида показало ее перспективность (см. раздел Ресурсы). Частично исследование эффективности подобных систем основывается на сравнении их с ретроспективными данными: эти системы не заменят человека при принятии решений, а будут использоваться в качестве вспомогательного инструмента.

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

Большие данные в сфере общественной безопасности и охраны правопорядка

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

Соображения о конфиденциальности приложений для работы с большими данными

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

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


Пример: использование сценариев на языке R

Набор программ R-project Toolkit в InfoSphere Streams

InfoSphere Streams – это передовая вычислительная платформа, которая позволяет пользовательским приложениям быстро получать, анализировать и сопоставлять информацию по мере ее поступления из тысяч источников в режиме реального времени с очень высокой скоростью передачи данных (миллионы событий или сообщений в секунду). В версию 3.1 входит набор R-project Toolkit, который позволяет применять сложные алгоритмы глубинного анализа для выявления представляющих интерес образцов в потоках данных. Познакомьтесь с дополнительной информацией и загрузите ознакомительную версию.

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

Чтобы исследовать этот вопрос, я реализовал уравнения Лоренца на C и языке сценариев R (применяемом для анализа больших данных). Использование C и Microsoft® Excel® для таких сложных уравнений ограничивается отсутствием интеграции со средствами моделирования и анализа, а также тем, что электронные таблицы, как правило, не обеспечивают сложную многомерную визуализацию. Используя С и Excel, я смог построить только двумерные точечные графики уравнений Лоренца, моделирующих конвекцию в атмосфере (см. рисунок 1). Возможно, существует лучший способ визуализации этих данных в Excel, но никаких очевидных способов исследовать более двух измерений я не нашел.

Рисунок 1. Двумерный график модели Лоренца в электронной таблице
Двумерный график модели Лоренца в электронной таблице

Визуальный анализ с использованием R

R, интуитивно понятный язык сценариев, позволяет импортировать и использовать большое количество пакетов для анализа и визуализации. Для лучшей визуализации уравнений Лоренца я импортировал пакет scatterplot3d (см. рисунок 2), позволяющий лучше, чем в электронной таблице, представить эти трехмерные по своей сути уравнения. Для подобного основанного на модели анализа можно также использовать другие научные инструменты визуализации, такие как MATLAB или даже Gnuplot, но R содержит различные пакеты, хорошо выполняющие многомерный анализ наборов данных, не являющихся научными по своей природе (визуализация бизнес-аналитики), примеры которых можно найти в разделе Ресурсы. Пример уравнений Лоренца позволяет почувствовать возможности R.

Рисунок 2. Импорт пакета визуализации в R для Windows
Импорт пакета визуализации в R для Windows

Инструменты, подобные MATLAB, предоставляют среду интерактивного научного и инженерного анализа для исследования моделей и данных инженерам и ученым; R предоставляет те же средства бизнес-аналитикам и аналитикам больших данных всех типов (см. рисунок 3 и листинг 1). Возможность интерактивного исследования больших данных при помощи таких инструментов, как R и BigQuery, отличает анализ больших данных от пакетного и глубинного анализа данных, которые часто выполняются с помощью MapReduce. В любом случае целью является формирование новых моделей и поддержка принятия решений с использованием больших данных.

Рисунок 3. Трехмерный график уравнений Лоренца, построенный с помощью R
Трехмерный график уравнений Лоренца, построенный с помощью R
Листинг 1. Примеры R-сценария для построения графика уравнения Лоренца
library(scatterplot3d)
library(gdata)
getwd()
[1] "C:/Users/ssiewert/Documents"
mydata = read.csv("lorenz.csv")
scatterplot3d(mydata, highlight.3d=TRUE, col.axis="blue",
              col.grid="lightblue", main="Lorenz Equations", pch=20)

Чтобы лучше понять и изучить визуализацию, загрузите пример уравнений Лоренца для C и Excel, а также для C и R. Чтобы выполнить углубленное исследование, используйте R для визуализации данных, возвращаемых из Google BigQuery.


Будущее больших данных

В статье приводятся аргументы в пользу ценности больших данных (которая ставится под сомнение, особенно когда достоверность данных не может быть подтверждена) и предложения по повышению их достоверности, а также объясняются концепции объема, разнообразия и скорости данных. Опыт показывает, что горизонтальное масштабирование, использование методов повышения долговечности данных, включение применение в кластерах высокоскоростных сетей, а также масштабирование алгоритмов, таких как MapReduce и столбцовый поиск, являются перспективными с точки зрения эффективной работы с большими данными. Некоторые вопросы, которые прежде даже не рассматривались, теперь приобретают остроту, – например, из-за увеличения объема, скорости, и разнообразия данных новой проблемой стали неотслеживаемые повреждения данных, которые раньше не вызывали такого беспокойства, поскольку частота появления ошибочных битов на дисках и в сетях была намного ниже, чем количество байтов, проходящих через них или хранящихся на них. Сегодня архитектор больших данных должен не только обеспечивать достоверность и ценность данных, но и проектировать сервисы, которые делают данные доступными и полезными, поскольку современные объемы данных значительно превышают возможности проверки человеком.


Загрузка

ОписаниеИмяРазмер
Примеры сценариев анализаscript-examples.zip702КБ

Ресурсы

Научиться

Получить продукты и технологии

Обсудить

Комментарии

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=Облачные вычисления, Information Management
ArticleID=952898
ArticleTitle=Большие данные в облаке
publish-date=11132013