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

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

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

Несмотря на актуальность для многих сфер, границы термина размыты и могут отличаться в зависимости от конкретной задачи. Тем не менее существуют три основных признака, определенные еще в 2001 году Meta Group. Они получили аббревиатуру VVV:   

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

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

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

И еще два V

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

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

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

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

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

Структурированные данные. Как правило, хранятся в реляционных базах данных. Упорядочивают данные на уровне таблиц — например, Excel. От информации, которую можно анализировать в самом Excel, Big Data отличается большим объемом.

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

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

Источники данных

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

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

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

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

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

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

Подходы к хранению Big Data 

Для хранения обычно организуют хранилища данных (Data Warehouse) или озера (Data Lake). Data Warehouse использует принцип ETL (Extract, Transform, Load) — сначала идет извлечение, далее преобразование, потом загрузка. Data Lake отличается методом ELT (Extract, Load, Transform) — сначала загрузка, следом преобразование данных. 

Существуют три главных принципа хранения Big Data:

Горизонтальное масштабирование. Система должна иметь возможность расширяться. Если объем данных вырос — необходимо увеличить мощность кластера путем добавления серверов.

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

Локальность. В кластерах применяется принцип локальности данных — обработка и хранение происходит на одной машине. Такой подход минимизирует расходы мощностей на передачу информации между серверами.

Анализ больших данных: от web mining до визуализации аналитики

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

Анализ может включать в себя добычу различных видов информации, будь то текст, изображения, аудио- и видеоданные. Отдельно выделяют web mining и social media mining, работающие с интернетом и соцсетями. Для работы с реляционными базами данных используется язык программирования SQL, подходящий для создания, изменения и извлечения хранимых данных.

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

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

После анализа данные представляют в виде аналитического отчета с предложениями о возможных решениях. Методы перевода больших данных в читаемую форму называются Business intelligence. Главный инструмент BI — дашборды, интерпретация и визуализация аналитики в виде изображений и диаграмм. Дашборды помогают фокусировать внимание на KPI, создавать бизнес-модели и отслеживать результаты принятых решений.

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

Работайте с Big Data на инфраструктуре Selectel

От серверов с мощными GPU до полноценной платформы обработки данных.
Изучить

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

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

  1. Map. Функцию определяет пользователь, map служит начальной обработке и фильтрации. Функция применима к одной входной записи, она выдает множество пар ключ-значение. Применяется на том же сервере, на котором хранятся данные, что соответствует принципу локальности.
  2. Shuffle. Вывод map разбирается по «корзинам». Каждая соответствует одному ключу вывода первой стадии, происходит параллельная сортировка. «Корзины» служат входом для третьей стадии.
  3. Reduce. Каждая «корзина» со значениями попадает на вход функции reduce. Ее задает пользователь и вычисляет финальный результат для каждой «корзины». Множество всех значений функции reduce становится финальным результатом.

Для разработки и выполнения программ, работающих на кластерах любых размеров, используется набор утилит, библиотек и фреймворк Hadoop. ПО Apache Software Foundation работает с открытым исходным кодом и служит для хранения, планирования и совместной работы с данными. Об истории и структуре проекта Hadoop можно почитать в отдельном материале.

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

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

Примеры подобных СУБД

Все базы данных относятся к «семейству» Amazon:

  • DynamoDB — управляемая бессерверная БД на основе пар «ключ-значение», созданная для запуска высокопроизводительных приложений в любом масштабе, подходит для IoT, игровых и рекламных приложений.
  • DocumentDB — документная БД, создана для работы в каталогах, пользовательских профилях и системах управления контентом, где каждый документ уникален и изменяется со временем. 
  • Neptune — управляемый сервис графовых баз данных. Упрощает разработку приложений, работающих с наборами сложносвязанных данных. Подходит для работы с рекомендательными сервисами, соцсетями, системами выявления мошенничества. 

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

  • R. Язык используется для обработки данных, сбора статистики и работы с графикой. Загружаемые модули связывают R с GUI-фреймворками и позволяют разрабатывать утилиты анализа с графическим интерфейсом. Графика может быть экспортирована в популярные форматы и использована для презентаций. Статистика отображается в виде графиков и диаграмм.
  • 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 поможет с анализом статистики использования лекарств, эффективности предоставляемых услуг, с организацией работы с пациентами.

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

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

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

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

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

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

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

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

Что еще почитать по теме

T-Rex 21 сентября 2022

Гипервизор VMware ESXi: функции и отличия от ESX

В статье рассказываем о работе с гипервизором ESXi, его отличиях от ESX и vSphere.
T-Rex 21 сентября 2022
Андрей Салита 14 сентября 2022

Отличия TCP- и UDP-протоколов — определяем разницу на примерах

Рассматриваем два самых популярных протокола транспортного уровня — протоколы TCP и UDP — и сравниваем их.
Андрей Салита 14 сентября 2022
Владимир Туров 7 сентября 2022

Bat-файлы — их создание и команды

Рассмотрим мощный инструмент автоматизации рутинных задач в семействе операционных систем Windows.
Владимир Туров 7 сентября 2022

Новое в блоге

Михаил Фомин 24 июня 2022

Docker Swarm VS Kubernetes — как бизнес выбирает оркестраторы

Рассказываем, для каких задач бизнесу больше подойдет Docker Swarm, а когда следует выбрать Kubernetes.
Михаил Фомин 24 июня 2022
Ульяна Малышева 30 сентября 2022

«Нулевой» локальный диск. Как мы запустили облако только с сетевыми дисками и приручили Ceph

Чем хороши сетевые диски и почему именно Ceph, рассказал директор по развитию ядра облачной платформы Иван Романько.
Ульяна Малышева 30 сентября 2022
Валентин Тимофеев 30 сентября 2022

Как проходит онбординг сотрудников ИТО? Что нужно, чтобы выйти на смену в дата-центр

Рассказываем, как обучаем новых сотрудников, какие задачи и испытания проходят инженеры прежде, чем выйти на свою первую смену.
Валентин Тимофеев 30 сентября 2022
T-Rex 28 сентября 2022

Книги по SQL: что почитать новичкам и специалистам

Собрали 6 книг, которые помогут на старте изучения SQL и при углублении в тему.
T-Rex 28 сентября 2022