Презентацию к лекции 1 Вы можете скачать здесь.
Введение в проблематику курса
Мы начинаем курс, посвященный введению в анализ больших данных. Эта область сегодня крайне актуальна. В Новосибирском научном центре накоплен значительный опыт — исследовательский, преподавательский и предпринимательский, который мы обобщили в этом курсе.
Онлайн-курсы по этой теме уже существуют на английском языке (например, на Coursera или Udacity, а также у компании EMC). Однако на русском языке подобных структурированных материалов до сих пор не было. Цель нашего курса — сориентировать слушателя в этой сложной, формирующейся дисциплине.
Курс состоит из нескольких модулей:
- Введение в большие данные и аналитику.
- Основы когнитивного анализа данных.
- Язык R как инструмент анализа.
- Дополнительные инструменты исследований.
- Системы хранения и обработки данных.
В этой лекции мы рассмотрим предпосылки формирования тренда, основные вызовы (характеристики «V»), определение термина, а также получим базовое представление о технологиях Hadoop и принципах вычислений MapReduce.
Различные взгляды на большие данные
Что же такое большие данные? Можно выделить четыре точки зрения.
1. Поверхностный (обывательский) взгляд
На первый взгляд, экосистема больших данных — это сеть из пяти элементов:
- Генераторы данных: устройства и люди, создающие информацию.
- Сами данные: накопленные массивы информации.
- Технологии: инструменты записи и обработки.
- Приложения: сервисы, извлекающие выгоду из данных для бизнеса, науки или общества.
- Компетенции: класс специалистов, способных превращать данные в ценность.
Кроме того, большие данные — это социальный тренд. Выходят книги (часто как PR-проекты), описывающие, как анализ данных изменит общество в ближайшем будущем. Вокруг этой области формируется целая наука о данных (Data Science) и соответствующая ей инженерия.
2. Инженерный взгляд
С технической точки зрения, для существования больших данных необходима инфраструктура. Ключевые аспекты здесь:
- Хранилища: Особо выделяются облачные системы, позволяющие консолидировать ресурсы и хранить огромные объемы информации распределенно по всему миру. Среди поставщиков решений можно отметить Oracle, IBM, Amazon, EMC, Cloudera.
- Кибербезопасность: При обработке персональных данных возникает вопрос прав доступа. Нужны политики и технологии, ограничивающие или разрешающие обработку информации третьими лицами.
- Жизненный цикл данных: Данные нужно не только создавать, но и обрабатывать, анализировать, представлять результаты, а затем и уничтожать. Затраты на хранение часто превышают затраты на создание. Вопрос «что делать с устаревшими данными?» аналогичен вопросу утилизации отходов. Именно желание окупить издержки на хранение истории часто стимулирует бизнес искать способы использования накопленной информации.
- Потоки данных: Существуют данные, которые генерируются, но не сохраняются (например, телеметрия в реальном времени). Их нужно обрабатывать «на лету» для извлечения сиюминутной ценности.
Когда данные стали «большими»?
Рост объемов данных можно проследить по соотношению аналоговой и цифровой информации. В 1986 году лишь около 2,5% данных хранилось в цифровом виде. Перелом произошел в 2002 году, когда объемы сравнялись. После этого цифровые данные начали расти экспоненциально.
Важно учитывать, что при подсчете цифровых данных считаются и дубли (копии одного и того же файла), что увеличивает формальный объем. Развитие индустрии жестких дисков и компакт-дисков позволило накапливать цифровую информацию в огромных масштабах.
Предпосылки формирования тренда
Формированию тренда способствовали две группы факторов: технологические и социальные.
Технологические предпосылки:
- Удешевление хранения: Стоимость хранения одного терабайта упала с $14 млн в 1980 году до примерно $70 сегодня.
- Распространение сенсоров: Мобильные телефоны, датчики в автомобилях и телекоммуникационные системы собирают данные в цифровом виде повсеместно.
- Рост мощностей: Количество вычислительных узлов в сети выросло с одного (1969) до миллиарда. Существенно удешевились процессоры и выросла пропускная способность сетей.
Социальные предпосылки: Развитие технологий идет не непрерывно, а циклами (циклы ожиданий/хайпа). Термин «большие данные» существовал и до 2008 года, но именно в 2008 году, после публикаций в журнале Nature и аналитических отчетов McKinsey, общество осознало масштаб изменений. Технологии хранения и обработки достигли зрелости, и общество через эти публикации «открыло» для себя большие данные.
Ключевые вызовы: Характеристики «V»
Большие данные принято описывать через набор характеристик, начинающихся с буквы «V». Мы рассмотрим четыре ключевые.
1. Объем (Volume)
Это первая и самая очевидная характеристика. Речь идет о физической нехватке места на традиционных носителях для хранения всей генерируемой информации. Масштабы действительно колоссальны.
2. Скорость (Velocity)
Данные поступают с огромной скоростью и требуют быстрой реакции. Например, данные с адронного коллайдера или финансовые транзакции нужно обрабатывать в режиме реального времени. Если раньше данные можно было анализировать пакетами раз в месяц, то теперь актуальна пакетная обработка (batch) для периодических задач и потоковая (streaming) для немедленных.
3. Многообразие (Variety)
Это фундаментальный вызов. Данные перестали быть только структурированными (таблицы в реляционных базах данных). Сегодня преобладают:
- Полуструктурированные: XML, JSON, HTML.
- Неструктурированные: Текст на естественном языке, видео, аудио, изображения.
Именно рост неструктурированных данных, которые невозможно эффективно обрабатывать старыми методами (например, в Excel или традиционных СУБД), стимулировал развитие новых технологий.
4. Достоверность (Veracity)
Данные, особенно из социальных сетей, часто содержат шум, искажения, спам или фейки. Отличить «чистые» данные от «грязных» — отдельная сложная задача. Низкая достоверность данных может привести к неверным аналитическим выводам.
Технологии: Hadoop и MapReduce
Ключевой технологией для работы с большими данными является Hadoop. Это экосистема с открытым исходным кодом, предназначенная для распределенного хранения и обработки данных на кластерах из обычных (commodity) серверов. Hadoop вырос из проекта Apache Nutch.
Принцип работы Hadoop основан на парадигме MapReduce, предложенной в 2004 году компанией Google. Эта модель вычислений решает фундаментальную проблему обработки данных, объем которых превышает возможности одного компьютера.
Принцип MapReduce:
- Map (Карта): Задача по обработке большого файла делится на части. Каждая часть отправляется на отдельный узел кластера (обычный компьютер). На каждом узле выполняется операция фильтрации и преобразования данных в пары «ключ-значение».
- Shuffle & Sort (Перемешивание и сортировка): Промежуточные результаты с разных узлов группируются по ключам.
- Reduce (Свертка): На отдельном узле для каждой группы ключей выполняется финальная операция агрегации (например, суммирование).
Почему MapReduce эффективен?
- Локальность данных: Обработка происходит на том же узле, где хранятся данные. Это исключает дорогостоящую передачу больших объемов по сети.
- Масштабируемость: Можно наращивать мощность, просто добавляя новые узлы в кластер.
- Отказоустойчивость: Если узел выходит из строя, его задача автоматически переназначается на другой.
Роль аналитика
В чем же состоит работа аналитика? Можно выделить два ключевых аспекта.
1. Исследовательская работа
Аналитик (часто его называют Data Scientist) — это, прежде всего, исследователь. Он работает с данными, которые уже накоплены компанией или находятся в открытом доступе. Его задача — выдвигать и проверять гипотезы, искать закономерности и взаимосвязи. Для этого аналитик должен уметь программировать, знать математическую статистику, машинное обучение и обладать любопытством.
2. Прагматическая ценность
Результаты анализа должны приносить конкретную пользу — бизнесу, науке или обществу. Аналитик должен понимать бизнес-процессы, чтобы правильно ставить задачи и представлять результаты в виде, пригодном для принятия решений.
Краткие итоги
Осмысление феномена больших данных требует отказа от узко-технического взгляда в пользу системного подхода. Материал демонстрирует, что переход к новой парадигме анализа информации был обусловлен не внезапным открытием, а конвергенцией экономических и технологических факторов. Резкое удешевление хранения в сочетании с распространением сенсоров создало физическую возможность накопления данных, однако подлинный сдвиг произошел тогда, когда общество осознало потенциальную ценность этих залежей информации. Публикации в авторитетных изданиях и аналитические отчеты сыграли роль триггера, превратив технологическую возможность в социально-экономический тренд.
С инженерной точки зрения критически важным становится смещение фокуса с простого накопления на управление всем жизненным циклом информации. Затраты на длительное хранение и вопросы кибербезопасности заставляют рассматривать данные не как абстрактный актив, а как ресурс, требующий ответственного обращения — от момента создания до момента уничтожения. Такой взгляд формирует более зрелое понимание инфраструктурных задач, стоящих перед отраслью.
Центральным вызовом, определившим вектор развития технологий, является многообразие форматов данных на фоне их огромного объема и скорости поступления. Традиционные реляционные подходы оказались неэффективны для обработки неструктурированного текста, видео и логов. Технология MapReduce стала закономерным ответом на это ограничение: перенос вычислений к данным вместо передачи данных к вычислителю позволил преодолеть барьеры масштабируемости и стоимости. Это архитектурное решение не только решило техническую задачу, но и сделало возможным анализ тех массивов, которые ранее просто отбрасывались.
Наконец, определение роли аналитика выходит за рамки владения инструментарием. Практическая значимость работы специалиста заключается в способности совмещать исследовательскую строгость с пониманием бизнес-контекста. Ценность данных не существует сама по себе — она появляется только тогда, когда компетентный специалист умеет извлечь из них обоснованные выводы, пригодные для принятия решений и приносящие измеримую пользу. Таким образом, область больших данных — это синтез технологий, методологии и человеческого капитала.
Суть тренда
Большие данные — это не просто много информации. Это экосистема, включающая генераторы данных, технологии обработки, приложения, компетенции специалистов и социальный тренд. С инженерной точки зрения важно обеспечить хранение (часто облачное), кибербезопасность и управление жизненным циклом данных вплоть до уничтожения.
Когда данные стали большими?
Объем цифровых данных превысил аналоговые в 2002 году. Это стало возможным благодаря резкому удешевлению систем хранения (с $14 млн за терабайт в 1980 г. до $70 сегодня), распространению сенсоров (телефоны, машины) и росту вычислительных мощностей. Однако общество осознало ценность этих данных только в 2008 году после публикаций в журнале Nature и отчетов McKinsey.
Четыре главных вызова (V)
- Объем (Volume): Данных так много, что их негде хранить традиционными способами.
- Скорость (Velocity): Данные требуют обработки в реальном времени (потоковая) или быстрыми партиями (пакетная).
- Многообразие (Variety): Сложность создают не таблицы, а неструктурированные данные: текст, видео, логи, соцсети.
- Достоверность (Veracity): Данные содержат шум, спам и искажения, которые нужно фильтровать.
Технологии MapReduce и Hadoop
Обрабатывать огромные объемы на одном компьютере невозможно, а передавать их по сети — долго и дорого. Решение предложила компания Google в 2004 году — парадигма MapReduce.
- Принцип: Вычисления переносятся к данным, а не наоборот.
- Фаза Map: Файл делится на блоки, каждый блок обрабатывается на своем узле кластера (обычном сервере).
- Фаза Reduce: Результаты с узлов собираются и агрегируются.
- Hadoop: Экосистема с открытым кодом, реализующая этот принцип. Позволяет строить кластеры из дешевого оборудования, легко масштабировать систему и обеспечивать отказоустойчивость.
Роль аналитика
Аналитик (Data Scientist) — это исследователь. Он выдвигает гипотезы и проверяет их на данных. Для этого нужны навыки программирования, статистика и понимание бизнеса. Главная задача — извлечь практическую ценность, которая принесет пользу компании или обществу.
1. Тренд больших данных возник из-за одновременного удешевления хранения информации и роста числа цифровых сенсоров.
2. Общественное признание тренда началось в 2008 году после публикаций в Nature и отчетов McKinsey, закрепивших термин в массовом сознании.
3. «Большие данные» — это многогранное понятие, включающее технологии, компетенции и социальные изменения, а не только объемы информации.
4. Инженерный взгляд требует управления полным жизненным циклом данных: от сбора и хранения до анализа и уничтожения.
5. Затраты на длительное хранение данных заставляют бизнес искать способы извлечения из них ценности.
6. Ключевыми характеристиками больших данных являются Объем, Скорость, Многообразие и Достоверность.
7. Рост неструктурированных данных стал главным драйвером отказа от традиционных реляционных методов обработки.
8. Парадигма MapReduce решает проблему масштабирования, перенося вычисления к данным, а не данные к вычислениям.
9. Hadoop представляет собой экосистему для распределенной обработки данных, реализующую принципы MapReduce.
10. Аналитик больших данных — это не просто программист, а исследователь, способный проверять гипотезы на основе данных.
11. Практическая польза работы аналитика определяется его способностью понимать бизнес-процессы и представлять результаты для принятия решений.
12. Для обработки потоковых данных требуются методы реального времени, отличные от пакетной обработки.
1. Какие технологические факторы сделали возможным накопление больших объемов цифровых данных?
2. Почему именно 2008 год считается переломным моментом в истории больших данных, если сами данные существовали и раньше?
3. Какие инженерные аспекты, помимо технологий хранения, необходимо учитывать при построении систем больших данных?
4. Чем полуструктурированные данные отличаются от структурированных и неструктурированных?
5. Почему проблема многообразия данных стала критической для традиционных методов анализа?
6. Как решается проблема нехватки вычислительных мощностей одного компьютера в парадигме MapReduce?
7. В чем заключается принципиальная разница между подходом MapReduce и традиционным подходом к обработке данных?
8. Почему для анализа больших данных недостаточно уметь пользоваться только Excel или традиционными СУБД?
9. Какие компетенции, помимо технических, необходимы аналитику для успешной работы?
10. С какими проблемами связан анализ потоковых данных, которые не сохраняются на носителях?
11. Какова роль дублей информации при оценке общих объемов цифровых данных?
12. Почему вопросы кибербезопасности становятся неотъемлемой частью инженерной работы с данными?