Big Data: что это такое, как искать, хранить и использовать
@data_scienceОпределение Big Data
Это Петабайты (и больше) сложной и необработанной информации, которая постоянно обновляется. Например, данные IoT-датчиков с промышленного оборудования на заводах, записи транзакций клиентов банка или поисковых запросов с разных устройств. Иногда к большим данным добавляют методы и технологии обработки.
Понятие «big data» (большие данные) появилось в 2008 году, но еще до появления определения с большими данными уже встречались. Например, бизнес-аналитики компании «ВымпелКом» работали с big data в 2005 году, как утверждает Виктор Булгаков, руководитель департамента управленческой информации.
Чтобы точнее понять, относятся ли данные к big data или нет, смотрят на свойства информации (свойства определила Meta Group в 2001 году):
- Volume — объем (около 1 Петабайт).
- Velocity — регулярное обновление.
- Variety — данные могут быть не структурированы или иметь разнородные форматы.
К перечисленным факторам часто добавляют еще два:
- Variability (изменчивость) — всплески и спады данных, которые требуют определенных технологий для обработки.
- Value — различная сложность информации. Например, у данных о пользователях соцсетей и информации о транзакциях в банковской системе, разный уровень сложности.
Примечание. Определения условны, потому что никто точно не знает, как определять big data. Некоторые западные эксперты даже считают, что термин дискредитирован, и предлагают от него отказаться.
Как собирают Big Data
Источниками могут быть:
- интернет — от соцсетей и СМИ до интернета вещей (IoT);
- корпоративные данные: логи, транзакции, архивы;
- другие устройства, которые собирают информацию, например, «умные колонки».
Сбор. Технологии и сам процесс сбора данных называют дата майнингом (data mining).
Сервисы, с помощью которых проводят сбор — это, например, Vertica, Tableau, Power BI, Qlik. Собранные данные могут быть в разных форматах: текст, Excel-таблицы, SAS.
В процессе сбора система находит Петабайты информации, которая после будет обработана методами интеллектуального анализа, который выявляет закономерности. К ним относят нейронные сети, алгоритмы кластеризации, алгоритмы обнаружения ассоциативных связей между событиями, деревья решений, и некоторые методы machine learning.
Кратко процесс сбора и обработки информации выглядит так:
- аналитическая программа получает задачу;
- система собирает нужную информацию, одновременно подготавливая её: удаляет нерелевантную, очищает от мусора, декодирует;
- выбирается модель или алгоритм для анализа;
- программа учится алгоритму и анализирует найденные закономерности.
Как хранят Big Data
Чаще всего «сырые» данные хранят в data lake — «озере данных». При этом хранят в разных форматах и степенях структурированности:
- строки и колонки из БД — структурные;
- CSV, XML, JSON-файлы, логи — полуструктурированные;
- документы, почтовые сообщения, pdf — неструктурированные;
- видео, аудио и изображения — бинарные.
Для хранения и обработки информации в data lake используют разные инструменты:
- Hadoop — платформа управления данными. Содержит один или несколько кластеров. Обычно используется для обработки, хранения и анализа больших объемов нереляционных данных: файлов журналов, записей интернет-трафика, данных датчиков, объектов JSON, изображений и сообщений в соцсетях.
- HPPC (DAS) — разработка LexisNexis Risk Solutions. Это суперкомпьютер, который обрабатывает информацию как в пакетном режиме, так и в режиме реального времени.
- Storm — фреймворк для обработки информации в реальном времени, разработан на Clojure.
Data lake — это не только хранилище. «Озеро» может включать в себя и программную платформу, например, Hadoop, кластеры серверов хранения и обработки данных, средства интеграции с источниками и потребителями информации и системы подготовки данных, управления и иногда инструментов машинного обучения. Также «озеро данных» можно масштабировать до тысяч серверов без остановки кластера.
Из озера информация поступает уже в «песочницы» — области исследования данных. На этом этапе разрабатываются сценарии для решения разных бизнес-задач.
Data lake чаще располагают в облаке, чем на собственных серверах. Например, 73% компаний используют облачные сервисы для работы с big data, если верить отчету «Обзор тенденций и проблем больших данных 2018 года». Для обработки big data нужны большие вычислительные мощности, а облачные технологии позволяют удешевить работу, поэтому компании прибегают к этим хранилищам.
Облачные технологии могут стать альтернативой собственному дата-сервису, потому что тяжело предсказать точную нагрузку на инфраструктуру. Если купить оборудование «про запас», то оно простаивает и приносит убытки. А если оборудование будет маломощным, то не хватит для хранения и обработки.
- Облако может хранить больше данных, чем физические серверы: место для хранения информации не закончится.
- Компания может создать собственную облачную структуру или взять в аренду мощности у провайдера.
- Облако экономически выгодно для компаний с быстро растущей нагрузкой или бизнесов, где часто тестируются различные гипотезы.
Как работают с большими данными
Когда данные получены и сохранены, их нужно проанализировать и представить в понятном для клиента виде: графики, таблицы, изображения или готовые алгоритмы. Из-за объема и сложности в обработке традиционные способы не подходят. С большими данными необходимо:
- обрабатывать весь массив данных (а это Петабайты);
- искать корреляции по всему массиву (в том числе скрытые);
- обрабатывать и анализировать информацию в реальном времени.
Поэтому для работы с big data разработаны отдельные технологии.
Технологии
Изначально это средства обработки неопределенно структурированных данных: СУБД NoSQL, алгоритмы MapReduce, Hadoop.
MapReduce — фреймворк для параллельных вычислений очень больших наборов данных (до нескольких Петабайт). Разработан Google (2004 год).
NoSQL (от англ. Not Only SQL, не только SQL). Помогает работать с разрозненными данными, решает проблемы масштабируемости и доступности с помощью атомарности и согласованности данных.
Hadoop — проект фонда Apache Software Foundation. Это набор утилит, библиотек и фреймворков, который служит для разработки и выполнения распределенных программ, работающих на кластерах из сотен и тысяч узлов. О нём уже говорили, но это потому, что без Hadoop не обходится практически ни один проект связанный с большими данными.
Также к технологиям относят языки программирования R и Python, продукты Apache.
Методы и средства работы с большими данными
Это дата майнинг, машинное обучение, краудсорсинг, прогнозная аналитика, визуализация, имитационное моделирование. Методик десятки:
- смешение и интеграция разнородных данных, например, цифровая обработка сигналов;
- прогнозная аналитика — использует данные за прошлые периоды и прогнозирует события в будущем;
- имитационное моделирование — строит модели, которые описывают процессы, как если бы они происходили в действительности;
- пространственный и статистический анализ;
- визуализация аналитических данных: рисунки, графики, диаграммы, таблицы.
Например, machine learning — это метод ИИ, который учит компьютер самостоятельно «думать», анализировать информацию и принимать решения после обучения, а не по запрограммированной человеком команде.
Алгоритмам обучения нужны структурированные данные, на основе которых компьютер будет учиться. Например, если играть с машиной в шашки и выигрывать, то машина запоминает только правильные ходы, но не анализирует процесс игры. Если оставить компьютер играть с самим собой, то он поймет ход игры, разработает стратегию, и живой человек начнет проигрывать машине. В этом случае она не просто делает ходы, а «думает».
Deep learning – отдельный вид machine learning, в ходе которого создаются новые программы, способные самостоятельно обучаться. И здесь используются искусственные нейронные сети, которые имитируют нейронные сети человека. Компьютеры обрабатывают неструктурированные данные, анализируют, делают выводы, иногда совершают ошибки и учатся — почти, как люди.
Результат deep learning применяют в обработке изображений, алгоритмах распознавания речи, компьютерных переводах и других технологиях. Картины, нарисованные нейросетями Яндекса, и остроумные ответы Алисы на ваши вопросы — результат deep learning.
Data Engineer
Это уже «человеческая» часть работы с большими данными. Data Engineer или инженер данных — это специалист по обработке данных. Он готовит инфраструктуру для работы и данные для Data Scientist:
- разрабатывает, тестирует и поддерживает базы данных, хранилища и системы массовой обработки;
- очищает и подготавливает данные для использования — создает пайплайн обработки данных.
После Data Engineer в дело вступает Data Scientist: создает и обучает предиктивные (и не только) модели с помощью алгоритмов машинного обучения и нейросетей, помогая бизнесу находить скрытые закономерности, прогнозировать развитие событий и оптимизировать бизнес-процессы.
Где применяют Big Data
Главный принцип big data — быстро дать пользователю информацию о предметах, явлениях или событиях. Для этого машины умеют строить вариативные модели будущего и отслеживать результаты, что полезно коммерческим компаниям.
Банки
Банковская сфера использует технологии big data для предотвращения мошенничества, оптимизации процессов и управления рисками. Например, ВТБ, Сбербанк или Тинькофф уже используют big data, чтобы проверять надежность заемщиков (скоринг), управлять персоналом и прогнозировать очереди в отделениях.
Сберу большие данные помогают точнее оценивать риск-профиль клиента, что в итоге снижает вероятность невозврата кредитов.
Тинькофф с помощью EMC Greenplum, SAS Visual Analytics и Hadoop анализирует риски, выявляет потребности клиентов, использует большие данные в скоринге, маркетинге и продажах.
ВТБ использует big data для принятия решений об открытии новых офисов. Банк создал собственную внутреннюю гео-аналитическую платформу. Методы машинного обучения позволили выявить спрос на банковские услуги в разных районах города.
Бизнес
Выбор стратегии развития бизнеса основывается на результатах анализа информации. Здесь big data поможет обработать гигантские объемы данных и выявить направление развития. При помощи результатов анализа можно выявить, какие продукты востребованы на рынке, повышать лояльность клиентов.
Гипермаркет Hoff применяет big data, чтобы формировать персональные предложения для клиентов.
Сервис CarPrice сокращает расходы путем оптимизации трафика: благодаря большим данным увеличилась скорость принятия решений пользователями, выросло качество сервиса.
Бренд Zarina увеличил выручку на 28%, персонализируя выдачу рекомендаций клиентам онлайн-магазина.
Здесь нельзя не сказать о Netflix. Персонализация — его основа. Сервис с миллионной аудиторией предлагает контент, который в 80% случаев опирается на пользовательский опыт зрителя и информацию из Facebook и Twitter. Для оптимизации выдачи используют поисковые запросы пользователя, историю просмотров, информацию о повторных просмотрах, паузах и перемотках. Для обработки данных Netflix использует Hadoop, Teradata и собственные решения (Lipstick и Genie).
Например, когда Netflix создавал «Карточный домик», то на основе анализа заказал сразу два сезона, а не только пилот. И сериал имел ошеломляющий успех: анализ данных показал, что зрители в восторге от актера Кевина Спейси и продюсера Дэвида Финчера.
Маркетинг
Big data дает большой инструментарий маркетологам. Анализ данных помогает выявить потребности покупателей, тестировать новые способы повышения лояльности и находить, какие продукты будут пользоваться спросом.
Например, сервис RTB помогает настроить ретаргетинг: кросс-канальный, поисковый и товарный. Так компании могут рекламировать товары не всем подряд, а только целевой аудитории.
Сервисы Crossss, Alytics, 1С-Битрикс BigData позволяют проводить сквозную аналитику, увеличивать средний чек, повышать конверсию рекламы, повышать персонализацию предложений. И все это с помощью больших данных.
Проблемы и перспективы Big Data
Проблемы — объемы информации, скорость обработки и неструктурированность.
Для хранения больших объемов данных нужны особые условия, а для скорости обработки нужны новые методы анализа. В мире пока нет достаточной практики накопления big data. При этом данные разрознены и порой недостоверны, что мешает эффективно решать бизнес-задачи.
Индустрия больших данных только набирает обороты и не хватает специалистов, например, Data Engineer, потому что этой профессии недавно еще не существовало.
Перспективы. Big data развивается: помогает распознать мошенничество в банках, рассчитать эффективность рекламных кампаний, порекомендовать фильм и даже поставить диагноз пациенту, исходя из собранного анамнеза. Больше других инвестируют в big data банки, процессное производство и компании из индустрии профессиональных услуг.
В 2016 году объем мирового рынка ПО, оборудования и сервисов в области бизнес-аналитики и работы с big data составил $130,1 млрд, из них $17 млрд — банковский сектор. Доля инвестиций от государственных органов и коммерческих компаний, измерялась примерно по 7,5%. В 2018 году выручка от продаж программ и услуг на мировом рынке в 2018 году составила $42 млрд, и рынок только растет.
Специалисты считают, что скоро технология будет использоваться в транспортной сфере, нефтедобыче, энергетике. IDC прогнозирует, что доходы, связанные с big data, к 2022 году перевалят за $260 млрд при ежегодном росте рынка в 11,9%. Крупнейшими сегментами рынка станут производственный сектор, финансы, здравоохранение, охрана окружающей среды и розничная торговля, по прогнозам Frost & Sullivan.
Развитие big data изменит нашу повседневность. Системы смогут анализировать ежедневные маршруты, частые заказы и регулярные платежи. Вероятно, в будущем технологии позволят автоматически оплачивать кредиты и коммунальные услуги, вызывать автомобиль от работы до дома, где на столе уже будет готов ужин из любимых блюд.