Что такое Big Data: определение и примеры использования
В панель

Big Data: что такое большие данные и где они применяются

Тирекс Тирекс Самый зубастый автор 22 июня 2022

В статье расскажем о характеристиках и классификации, методах обработки и хранения больших данных, областях применения и возможностях работы с Big Data, которые дает Selectel.

Изображение записи

Что такое Big Data

Big Data — это структурированные, частично структурированные или неструктурированные большие массивы данных. Также под этим термином понимают обработку, хранение и анализ огромных объемов данных. То есть, когда у вас так много информации, что обычные методы работы с ней становятся неэффективными.

Примеры больших данных:

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

Не считаются большими данными:

  • данные о продажах магазина за месяц;
  • история банковских транзакций одного клиента за год;
  • данные о клиенте в CRM-системе юридической компании.

Технологии Big Data широко используются во всем мире, в том числе и в России. Они полезны в различных областях, таких как здравоохранение, финансы, телекоммуникации, ретейл и e-commerce. Например, банки применяют Big Data для анализа транзакций и выявления мошенничества, а агрокомпании — для анализа поведения и подсчета поголовья скота

Характеристики больших данных 

Границы термина Big Data размыты и могут отличаться в зависимости от конкретной задачи. Тем не менее существуют три основных признака, они получили аббревиатуру VVV: 

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

Velocity. Скорость прироста и обработки данных. Яркий пример — новые данные для анализа появляются с каждым сеансом пользователя «ВКонтакте». Подобные потоки информации требуют высокоскоростной обработки. Если для обработки данных достаточно одной машины, это не Big Data, число серверов в кластере всегда превышает единицу.

Variety. Разнообразие данных. Даже если информации много, но она имеет четкую структуру — это не Big Data. Возвращаясь к примеру с «ВКонтакте», биографии пользователей соцсети структурированные и легко поддаются анализу. А вот данные о реакциях на посты или времени, проведенном в приложении, не имеют точной структуры.

И еще два V

В дальнейшем появилась интерпретация c «пятью V»: 

Viability. Жизнеспособность данных. При большом разнообразии данных и переменных, необходимо проверять их значимость при построении модели прогнозирования. Например, факторы, предсказывающие склонность потребителя к покупке: упоминания товара в соцсетях, геолокация, доступность товара, время суток, портрет покупателя. 

Value. Ценность данных. После подтверждения жизнеспособности специалисты Big Data изучают взаимосвязи данных. Например, поставщик услуг может попытаться сократить отток клиентов, анализируя продолжительность звонков в кол-центр. После оценки дополнительных переменных прогнозная модель становится сложнее и эффективнее. Пример вывода — повышенную склонность к оттоку в течение 45 дней после своего дня рождения демонстрируют клиенты, попадающие в категории: 

  • геопозиция — юго-запад России с теплой погодой;
  • образование — степень бакалавра;
  • имущество — владельцы автомобилей 2012 года выпуска или более ранних моделей;
  • кредитная история без просрочек.

Классификация данных

Структурированные данные. Как правило, хранятся в реляционных базах данных. В БД данные упорядочены на уровне таблиц, а также связей между таблицами.

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

Неструктурированные. Не имеют организованной структуры: аудио- и видеоматериалы, фото и другие изображения.

Типы аналитики больших данных

Существует четыре типа аналитики Big Data: описательная, диагностическая, предиктивная и предписывающая.

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

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

С помощью диагностического анализа компания может, например, выявить причины падения продаж или оттока клиентов.

Предиктивная аналитика позволяет спрогнозировать возможности и оценить риски для более точных и эффективных бизнес-решений. Здесь для работы с данными активно используются искусственный интеллект и машинное обучение — ML (machine learning).

Хороший пример использования ML в предиктивной аналитике — кредитный скоринг в банках. Если раньше всю аналитическую работу по оценке рисков невозврата кредита выполняли сотрудники банков, то с внедрением ML завяки на кредит стали обрабатываться автоматически. Теперь сотруднику не нужно изучать текст заявки и сравнить необходимые метрики с какими-то профилями должников. За него это делает модель, обученная на тысячах кредитных заявок.

Предписывающая аналитика дает рекомендации о том, что следует сделать и как оптимизировать процессы. Один из примеров — ретейлеры с помощью такой аналитики оптимизируют ассортимент товаров и цены на них с учетом модели поведения покупателей.

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

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

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

Получение данных из источников Big Data

Любая работа с данными — Big Data и не только — начинается с того, что их необходимо получить. Для этого используются различные источники, от социальных сетей до веб-сайтов. 

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

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

Источником машинных данных служат смартфоны, IoT-гаджеты, автомобили и другая техника, датчики, системы слежения и спутники.

Как данные забирают из источника

Существует два подхода к извлечению данных.

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

Хранение и обработка данных

Поступившие данные необходимо где-то хранить — для этого применяются хранилища данных (Data Warehouse) и озера данных (Data Lake).

Data Warehouse использует принцип ETL (Extract, Transform, Load) — сначала идет извлечение, далее преобразование, потом загрузка. Здесь находятся структурированные и уже обработанные данные и используются реляционные или аналитические СУБД Greenplum, ClickHouse, Apache Doris.

Data Lake отличается методом ELT (Extract, Load, Transform) — сначала загрузка, следом преобразование данных. Здесь находятся все нужные данные в необработанном виде: и структурированные, и неструктурированные. Обычно это Hadoop (HDFS), либо объектные хранилища (MinIO, S3 или любое другое облачное хранилище).

Существуют три принципа хранения Big Data.

  • Горизонтальное масштабирование. Система должна иметь возможность расширяться. Если объем данных вырос, необходимо увеличить мощность кластера путем добавления серверов.
  • Отказоустойчивость. Для обработки требуются большие вычислительные мощности, что повышает вероятность сбоев. Большие данные должны обрабатываться непрерывно в режиме реального времени. 
  • Локальность. В кластерах применяется принцип локальности данных — обработка и хранение происходит либо в рамках одного кластера, либо при обеспечении максимально быстрой скорости передачи информации. Такой подход минимизирует расходы мощностей на передачу информации между серверами.

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

Анализ больших данных

На этом этапе (Big Data analysis) очищенные данные анализируют, а полученные результаты интерпретируют. При этом анализ выполняется постоянно, в режиме реального времени.

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

Инструменты для обработки больших данных

Apache Hadoop — ПО Apache Software Foundation, работает с открытым исходным кодом. Служит для хранения, планирования и совместной работы с данными. Об истории и структуре проекта Hadoop можно почитать в отдельном материале.

Apache Spark — open-source фреймворк, входящий в экосистему Hadoop.  Используется для кластерных вычислений. Набор библиотек Apache Spark выполняет вычисления в оперативной памяти, что заметно ускоряет решение многих задач, и подходит для машинного обучения.

NoSQL — тип нереляционных СУБД. Хранение и поиск данных моделируется отличными от табличных отношений средствами. Для хранения информации не требуется заранее заданная схема данных. Главное преимущество подобного подхода — любые данные можно быстро помещать и извлекать из хранилища. Термин расшифровывается как Not Only SQL. 

Примеры таких СУБД:

  • Cassandra — база данных от Apache, хорошо масштабируется и позволяет обрабатывать Big Data с помощью репликации на несколько узлов;
  • MongoDB — расширяемая документоориентированная СУБД для разработчиков с открытым исходным кодом, распространяется под GNU AGPL.

Также на просторах интернета можно встретить информацию о методе параллельной обработки MapReduce, разработанном компанией Google. Этот подход теряет популярность, но знать о нем — полезно.

MapReduce организовывает данные в виде записей. Функции здесь работают независимо и параллельно, что обеспечивает соблюдение принципа горизонтальной масштабируемости. Обработка происходит в три стадии.

Map. Функцию определяет пользователь, map служит для начальной обработки и фильтрации. Функция применима к одной входной записи, она выдает множество пар ключ-значение. Применяется на том же сервере, на котором хранятся данные, что соответствует принципу локальности.

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

Reduce. Каждая «корзина» со значениями попадает на вход функции reduce. Ее задает пользователь и вычисляет финальный результат для каждой «корзины». Множество всех значений функции reduce становится результатом.

Самые популярные языки программирования для работы с большими данными

Scala. Нативный язык для Apache Spark, используется для анализа данных. Проекты Apache Software Foundation, Spark и Kafka, написаны в основном на Scala. 

Python. Обладает готовыми библиотеками для работы с AI, ML и другими методами статистических вычислений: TensorFlow, PyTorch, SKlearn, Matplotlib, Scipy, Pandas. Для обработки и хранения данных существуют API в большинстве фреймворков: Apache Kafka, Spark, Hadoop.

Как устроен и работает брокер сообщений Apache Kafka, мы писали в отдельной статье

Примеры использования аналитики на основе Big Data: бизнес, IT, медиа

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

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

Для любого крупного производства Big Data позволяет анализировать доходы и обратную связь от заказчиков, детализировать сведения о цепочках производства и логистике. Подобные факторы улучшают прогноз спроса, сокращают расходы и простои. 

Big Data помогает со слабоструктурированными данными о запчастях и оборудовании. Записи в журналах и сведения с датчиков могут быть индикаторами скорой поломки. Если ее вовремя предсказать, это повысит функциональность, срок работы и эффективность обслуживания техники.

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

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

Big Data в России

Большие данные нашли популярность и в России, что подтверждает исследование НИУ ВШЭ. Еще в 2021 году 25,8% компаний применяли технологии сбора, обработки и анализа больших данных в России.

Наиболее активно Big Data применяется в финансовом секторе. Почти половина организаций (45,5%) опирается на анализ больших данных при оценке кредитоспособности людей, а также для борьбы с мошенниками и управления активами. 

Big Data востребованы в IT, а также сфере информации и связи в целом. Например, с помощью больших данных компании обучают голосовых помощников и разрабатывают сервисы для «умного дома». 

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

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

Польза работы с Big Data

  • Принятие обоснованных решений. Анализ больших данных помогает организациям принимать решения на основе фактических данных, а не на интуиции или предположениях.
  • Оптимизация бизнес-процессов. Big Data позволяет находить эффективные и неэффективные процессы и оптимизировать работу бизнеса.
  • Поиск паттернов и трендов. Анализ Big Data помогает обнаружить скрытые паттерны, тренды и взаимосвязи, это полезно для предсказания событий и принятия стратегических решений.
  • Улучшение качества продуктов и услуг. Большие данные позволяют компаниям более точно понимать потребности клиентов и предоставлять продукты и услуги, более точно соответствующие их ожиданиям.
  • Научные исследования. Big Data играет ключевую роль в исследованиях, позволяет ученым обрабатывать большие массивы данных и получать более точную информацию.

Сложности при использовании Big Data

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

На такие случаи в Selectel есть решение — объектное хранилище. Оно позволяет хранить и анализировать большие объемы данных (и организовать Data Lake) и соответствует 152-ФЗ.

Для построения Data WareHouse вы можете подключить инфраструктуру для хранения и обработки Big Data на базе Apache Hadoop, Spark, Airflow, Superset, Kafka, а также Greenplum и ClickHouse.

Еще одно решение — готовые серверы для обработки и анализа данных. Они подходят для разработки и обучения ML-моделей, построения процессов обработки данных и визуализации данных. Особенно полезны, когда у вас не хватает собственных мощностей для работы с ML-моделями.

Работа с большими данными — кто занимается

Люди, работающие с большими данными, разделяются по многим специальностям: 

  • Chief Data Officer,
  • аналитик Big Data, 
  • дата-инженер, 
  • Data Scientist, 
  • ML-специалист и др. 

Учитывая высокий спрос, для работы в сфере требуются специалисты разных компетенций. Например, существует направление data storytelling — умение эффективно донести до аудитории информацию из набора данных с помощью повествования и визуализации. Для понимания контекста используются сюжетные линии и персонажи, графики и диаграммы, изображения и видео.

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

Читайте также: