О больших данных заговорили в середине нулевых, когда объёмы информации, которой оперировали для вычислений и анализа, росли в геометрической прогрессии. Тогда в редакции журнала Nature предложили относить к Big Data данные, объём которых превышает 150 Гб в сутки. Другие эксперты предлагают считать большими данными всё, что больше 8 Гб, то есть стандартного размера оперативной памяти ПК.
Гораздо проще определить, что относится к большим данным, через их применение. Big Data — это массивы информации, которые помогают принимать обоснованные решения, их ещё называют data-driven, то есть основанные на данных. Они позволяют строить прогнозные модели высокой точности. Такие используют, к примеру, в NASA, чтобы воспроизвести все детали будущей миссии. Для сбора, хранения и анализа больших данных требуются специальные инструменты и оборудование. К примеру, вместо одного ПК или сервера для хранения Big Data используют множество серверов или дата-центров по всему миру.
Основные характеристики Big Data (больших данных) определяют как шесть «V»:
● Volume — объём — от 150 Гб в сутки.
● Velocity — скорость. Объём и содержимое Big Data ежесекундно меняются, поэтому собирать и обрабатывать их нужно на больших вычислительных мощностях. Например, сервис FlightRadar24, где отображаются все маршруты самолётов в режиме онлайн.
● Variety — разнообразие. Массив больших данных может включать фото, видео и тексты, файлы разных объёмов и форматов, данные из множества разных источников. Обычные данные, как правило, однородные, например таблица Excel с Ф. И. О. каждого сотрудника.
● Veracity — достоверность. Большие данные собирают только из источников, которым можно доверять, а для анализа используют точные и объективные методы. Поэтому корпорации и международные организации принимают стратегические решения на основе этих данных.
● Variability — изменчивость. Большие данные обновляются в режиме онлайн, поэтому их поток нестабилен. На него влияют скорость передачи, изменение источников, действия пользователей и даже смена сезонов. При анализе данных нужно учитывать и прогнозировать все эти факторы. Например, данные об авиаперелётах стоит использовать с поправками на задержки рейсов и погодные условия, из-за которых меняются маршруты.
● Value — ценность. Сами по себе данные ничего не значат, но на их основе можно сделать глубокие выводы и принимать взвешенные решения. Например, проанализировать трафик на дорогах в течение года и понять, как лучше построить маршруты для городского транспорта.
Big Data также бывают:
● Структурированными — то есть уже размеченными по определённым параметрам. Допустим, данные о ключевых медицинских показателях пациентов: температура, давление, анализы крови и ЭКГ.
● Частично структурированными, например файлы разного формата с записями о стихийных бедствиях в регионе за последние пять лет.
● Неструктурированными, например фото, музыка и сообщения всех пользователей VK.
Ещё одно важное отличие больших данных от обычных — распределённая структура. Это значит, что управлять ими и анализировать их можно с помощью множества микросервисов.
Большие данные собирают из разных источников:
● Социальные — всё, что публикуют и делают пользователи в соцсетях, онлайн-сервисах и приложениях. Сюда относят фото, видео, аудио, сообщения в мессенджерах, геолокации и хештеги.
● Статистические — все данные от госорганов и исследовательских компаний о людях, животных, транспортных средствах, товарах и услугах, политических и экономических явлениях.
● Медицинские — данные из электронных карт о медицинских показаниях, анализах, аппаратной диагностике, вакцинациях, историях болезней.
● Машинные — записи с камер наблюдения, видеорегистраторов, систем управления и умных устройств.
● Транзакционные — данные о платежах и переводах через банки и другие финансовые сервисы.
В процессе сбора данные проходят очистку, или Data Cleaning. На этом этапе, с помощью специальных программ, данные находят, отбирают и фильтруют, проверяя на точность и соответствие заданным параметрам. Специалисты по Data Cleaning размечают массивы данных так, чтобы алгоритмам было проще находить нужные сегменты информации в ответ на запросы пользователей.
Данные извлекают полностью или частично — с момента последнего успешного извлечения. Например, когда составляют прогноз погоды, используют только данные за последние сутки. Чтобы извлечь Big Data за определённый период, в хранилище используют специальную функцию захвата данных.
Обычные данные помещаются на одном компьютере или онлайн-диске. С большими данными так не получится, поэтому их хранят и обрабатывают с помощью облачных серверов и распределённых вычислительных мощностей. Благодаря этому с Big Data одновременно могут работать несколько человек, получая доступ из разных точек.
Для хранения больших данных используют:
● DWH — или data warehouse — единое хранилище для всех данных, на основе которых компания формирует отчёты и принимает решения. Файлы в них сгруппированы по областям применения и расположены по хронологии. Например, DWH интернет-магазина, где собраны данные обо всех клиентах, транзакциях и подразделениях. Данные в них поступают по принципу ETL (от англ. Extract, Transform, Load): сначала извлекаются, затем трансформируются, а потом загружаются в едином формате.
● Data Lake — озёра данных, которые не имеют единого формата и чёткой структуры. Порядок действий здесь такой: извлечение, загрузка в базу и трансформация в формат, который подходит для текущих задач. Озеро данных напоминает виртуальный диск, где хранятся тексты, фото и PDF, а база данных — это таблица, где все они перечислены.
● СУБД — системы управления базами данных, бывают реляционными или нереляционными. Для работы с большими данными чаще используются первые — данные в них организованы в виде таблиц, которые связаны между собой ключами, а для запросов используют специальный язык — SQL. Например, в колоночной СУБД ClickHouse, которую используют в сервисе Яндекс Метрика, все данные о трафике сайтов хранятся в нескольких таблицах. Строки — это события, например просмотры страниц, а колонки — параметры, например переходы с мобильных устройств. Это позволяет за секунды сформировать отчёт о трафике для сайта по нескольким параметрам сразу, поскольку все они расположены в соседних ячейках.
Многие компании используют нереляционные СУБД. В них данные преобразуются не в связанные друг с другом таблицы, а хранятся по другой, заранее заданной схеме. Это позволяет быстро помещать и извлекать нужную информацию из хранилища, а также запускать высоконагруженные приложения. Допустим, DynamoDB от Amazon — бессерверная СУБД типа NoSQL, которая поддерживает разные языки запросов. Её используют в системах «умного дома», онлайн-играх и рекламных сервисах.
Информацию большого объёма с помощью обычных инструментов обработать будет сложно: на это уйдёт слишком много времени. Для этих задач применяют особое ПО, которое работает по технологии MapReduce. Сначала алгоритм отбирает данные по заданным параметрам, затем распределяет между отдельными узлами, серверами или компьютерами, а потом они одновременно обрабатывают эти сегменты данных, параллельно друг с другом.
Вот примеры сервисов, которые используют MapReduce:
● Hadoop — сервис с открытым исходным кодом, позволяющий собирать, хранить и работать с Big Data сразу нескольким специалистам. Он автоматически перераспределяет нагрузку так, чтобы при отказе одного из узлов другие продолжили работать вместо него.
● Apache Spark — сервис из нескольких библиотек для работы с потоковыми данными, которые обновляются с высокой скоростью. При этом данные внутри можно фильтровать, обрабатывать и применять для машинного обучения нейросетей.
Чтобы следить за качеством сбора данных, структурировать их и находить нужное, некоторые компании нанимают специалистов — DWH-аналитиков.
Чтобы применять большие данные в работе, необходимо анализировать их по самым разным параметрам. В этом помогают:
● SQL — язык запросов, который применяют при работе с реляционными СУБД.
● Нейросети, натренированные с помощью машинного обучения так, чтобы за секунды обработать тонны информации и представить точные данные для самых сложных задач.
Чтобы извлекать нужные сегменты информации и преобразовывать их в понятные отчёты и графики, используют специальные аналитические сервисы на базе Business Intelligence (BI). Например, Power BI Microsoft — сервис бизнес-аналитики, который собирает данные из CRM, Excel-таблиц и других источников, а затем представляет их в виде интерактивных отчётов.
На курсе «Специалист по Data Science» студентов учат работать с Big Data с помощью самых популярных инструментов и технологий. А главное — извлекать из «сырых» данных самое ценное и принимать решения, которые помогут бизнесу.
Большие данные — драйвер мировой экономики. Они помогают:
● Работать с большими объёмами информации.
Например, базы данных миллионов пользователей VK: у каждого из них сотни сообщений, фотографий, музыки и видео.
● Строить более точные прогнозы и принимать более взвешенные решения.
Например, планировать рекламную кампанию, опираясь на информацию Яндекс Метрики о миллионах пользователей и цифровом следе каждого из них — браузер, настройки, посещаемые сайты. Это позволит, предположим, показывать рекламу запчастей только тем, кто посещает автомобильные сайты.
● Мгновенно реагировать на сбои и уязвимости.
Благодаря доступу к большим данным обо всех действиях пользователей, банки или платёжные сервисы могут сразу отследить подозрительные действия и остановить мошенников.
● Строить долгосрочные стратегии.
Если у компании есть данные о продажах, прибыли и убытках за несколько лет, их анализ поможет планировать инвестиции, работу с персоналом и ассортиментом.
● Исправлять ошибки и улучшать продукт.
Предположим, специалисты службы доставки заметили, что в вечернее время люди часто отменяют доставку через 30 минут после заказа. Это значит, что клиенты не хотят долго ждать и предпочитают сходить в магазин сами. Проблему можно решить, увеличив число курьеров в эти часы.
Но есть и минусы:
● Трудности с масштабированием.
К примеру, сервисом стартапа пользуются 10 тыс. человек. После рекламной кампании приходит 1 млн новых пользователей. Не каждая система для хранения и обработки данных справится с таким резким притоком. Решить проблему помогают специальные облачные хранилища, которые можно масштабировать в любой момент.
● Высокие риски.
Большие данные повышают требования к безопасности. Например, если взломают базу данных крупных банков, миллионы клиентов лишатся денег. Чтобы этого избежать, компании-владельцы Big Data используют распределённый доступ: у разных групп сотрудников разный уровень доступа и только к определённым сегментам баз данных. Кроме того, данные шифруют и структурируют на каждом уровне.
● Высокие затраты.
Большие данные требуют больших вычислительных мощностей, более дорогих сервисов для хранения и обработки. Допустим, для обучения нейросетей нужны огромные датасеты, которые есть только у очень крупных корпораций и часто недоступны для свободного пользования. Для работы с большими данными нужно привлекать специалистов: аналитиков данных, DWH-аналитиков, специалистов по BI.
Big data находят применение в бизнесе, госсекторе и промышленности. Вот области, где большие данные используют чаще всего:
● Транспорт. С помощью больших данных о маршрутах и скорости машин навигаторы предлагают самый короткий путь с учётом пробок.
● Мобильная связь и интернет. Сотовые операторы используют большие данные, чтобы спрогнозировать нагрузки сети в каждой зоне и понять, где не хватает обычных сотовых вышек, а где — 5G.
● Медицина. С помощью больших данных можно предсказать, как будет развиваться эпидемия и в какой момент понадобится увеличить выпуск вакцин.
● Маркетинг. К примеру, Amazon использует систему рекомендаций товаров, которая обучена с помощью больших данных и приносит сервису до 35% от всей выручки.
● HR. На базе миллионов профилей успешных кандидатов можно создать алгоритм, который будет автоматически отбирать самых подходящих соискателей и отправлять им приглашения на собеседования.
● Производство. Большие данные помогают организовать работу сотрудников так, чтобы снизить риски аварий и несчастных случаев в цехах.
● Финтех. На основе данных обо всех случаях мошенничества банки могут создать наиболее безопасные сервисы для онлайн-платежей.
● Образование. Большие массивы данных помогают составлять персональные рекомендации вузов для абитуриентов и профессий для выпускников.
● Интернет вещей. Большие данные используют, чтобы умные устройства, сенсорные датчики, камеры наблюдения, системы управления беспилотными автомобилями работали ещё лучше и облегчали жизнь людей.
● Наука. Результаты исследований, опросы и показания приборов помогают выявлять неочевидные закономерности и совершать новые открытия в разных областях науки.
● Государственное управление. Госорганам и международным организациям большие данные в виде статистики помогают лучше распределять ресурсы и реагировать на проблемы, которые действительно актуальны для людей.
● Искусственный интеллект и роботы. С помощью датасетов с реальными диалогами компании обучают голосовых и чат-ботов, которые заменяют сотрудников техподдержки или кол-центра.
За рубежом следят за использованием больших данных больше, чем в России. Это, с одной стороны, хорошо защищает данные пользователей различных онлайн-сервисов, с другой — сильно ограничивает возможности бизнеса. К примеру, европейский GDPR — Всеобщий регламент по защите данных — запрещает сервисам Google собирать данные о составе семьи или национальности, которые сэкономили бы рекламные бюджеты маленьким бизнесам.
В США главные потребители и держатели Big Data — крупные корпорации: Apple, Google, Facebook*, Amazon. Однако государство с каждым годом всё больше ограничивает их деятельность и монополию на сбор и хранение данных. В некоторых штатах, например Калифорнии, любой пользователь может запросить у онлайн-сервисов все данные, которые хранятся в привязке к его профилю, и потребовать их уничтожить.
В Big Data данные разделяют на персональные и обезличенные. Персональные — это те, по которым можно безошибочно идентифицировать пользователя: например имя и фамилия, домашний адрес, номер мобильного. Им уделяется особое внимание в законодательстве, в том числе российском: в первую очередь это 152-ФЗ «О персональных данных». К обезличенным данным относят всё остальное: например геолокацию или список покупок без привязки к конкретному человеку и его номеру телефона.
В Китае действует более 200 разных законов и правил, которые призваны защищать персональную информацию — в том числе ту, что автоматически собирают приложения для смартфонов. Из-за этого в стране заблокировано большинство зарубежных соцсетей и международных онлайн-сервисов, однако эти данные доступны госорганам.
Сложность в том, что, если собрать обезличенные данные из разных источников и сопоставить их, тоже можно получить довольно исчерпывающую информацию. Например, данные такси и службы доставки помогают понять, где человек живёт и работает, какой у него примерный доход и что он предпочитает покупать. На этом и зарабатывают главные держатели больших данных в мире.
Специалистов, чья работа связана с Big Data, можно поделить на три большие группы:
● Инфраструктурные профессии: сотрудники облачных провайдеров, которые обеспечивают технический сбор и хранение данных, дата-инженеры и разработчики ЦОДов — центров обработки данных.
● Аналитические профессии: системные, веб- и аналитики данных, маркетологи. Их задача — обработать большие данные, чтобы сделать сервис более удобным для пользователей. Благодаря Big Data рекомендательные сервисы YouTube так хорошо подстраиваются под каждого пользователя и советуют ему подходящие видео.
● Специалисты по ИИ и машинному обучению используют Big Data, чтобы обучать нейросети и создавать роботизированные сервисы на их основе.
1. Разобраться с открытыми датасетами разного содержания, список которых можно найти на Хабре. Даже небольшое хранилище на 10 Тб поможет понять логику структурирования и работы с данными.
2. Выучить языки запросов и языки программирования. Язык запросов SQL и языки программирования Python, R или Scala понадобятся, чтобы создавать запросы к базам данных, структурировать и извлекать нужную информацию в виде наглядных отчётов и дашбордов.
3. Пройти курсы, чтобы получить более основательную и структурированную базу. Например, на курсе «Специалист по Data Science» объясняют, как использовать технологии больших данных для разных задач в науке или бизнесе. Для этого студенты изучают математические методы, логические приёмы, инструменты для сортировки и визуализации данных, основы машинного обучения. Курс подойдёт и специалистам с технической базой, и тем, у кого пока нет опыта в IT.
Алексей Макаров
Лучше начинать изучение Big Data с методов работы с данными. Неважно, с какой таблицей придётся работать — на миллион или на тысячу строк, — методы анализа остаются такими же, только инструменты могут немного меняться из-за объёмов. Понимание того, как фильтровать, агрегировать, исследовать и очищать данные, — это основа, которая пригодится в любой работе с Big Data.
* сервис предоставляется организацией, признанной экстремистской на территории РФ
Читать также: