что такое биг дата в маркетинге
Big Data от А до Я. Часть 1: Принципы работы с большими данными, парадигма MapReduce
Привет, Хабр! Этой статьёй я открываю цикл материалов, посвящённых работе с большими данными. Зачем? Хочется сохранить накопленный опыт, свой и команды, так скажем, в энциклопедическом формате – наверняка кому-то он будет полезен.
Проблематику больших данных постараемся описывать с разных сторон: основные принципы работы с данными, инструменты, примеры решения практических задач. Отдельное внимание окажем теме машинного обучения.
Начинать надо от простого к сложному, поэтому первая статья – о принципах работы с большими данными и парадигме MapReduce.
История вопроса и определение термина
Термин Big Data появился сравнительно недавно. Google Trends показывает начало активного роста употребления словосочетания начиная с 2011 года (ссылка):
При этом уже сейчас термин не использует только ленивый. Особенно часто не по делу термин используют маркетологи. Так что же такое Big Data на самом деле? Раз уж я решил системно изложить и осветить вопрос – необходимо определиться с понятием.
В своей практике я встречался с разными определениями:
· Big Data – это когда данных больше, чем 100Гб (500Гб, 1ТБ, кому что нравится)
· Big Data – это такие данные, которые невозможно обрабатывать в Excel
· Big Data – это такие данные, которые невозможно обработать на одном компьютере
· Вig Data – это вообще любые данные.
· Big Data не существует, ее придумали маркетологи.
В этом цикле статей я буду придерживаться определения с wikipedia:
Большие данные (англ. big data) — серия подходов, инструментов и методов обработки структурированных и неструктурированных данных огромных объёмов и значительного многообразия для получения воспринимаемых человеком результатов, эффективных в условиях непрерывного прироста, распределения по многочисленным узлам вычислительной сети, сформировавшихся в конце 2000-х годов, альтернативных традиционным системам управления базами данных и решениям класса Business Intelligence.
Таким образом под Big Data я буду понимать не какой-то конкретный объём данных и даже не сами данные, а методы их обработки, которые позволяют распредёлено обрабатывать информацию. Эти методы можно применить как к огромным массивам данных (таким как содержание всех страниц в интернете), так и к маленьким (таким как содержимое этой статьи).
Приведу несколько примеров того, что может быть источником данных, для которых необходимы методы работы с большими данными:
· Логи поведения пользователей в интернете
· GPS-сигналы от автомобилей для транспортной компании
· Данные, снимаемые с датчиков в большом адронном коллайдере
· Оцифрованные книги в Российской Государственной Библиотеке
· Информация о транзакциях всех клиентов банка
· Информация о всех покупках в крупной ритейл сети и т.д.
Количество источников данных стремительно растёт, а значит технологии их обработки становятся всё более востребованными.
Принципы работы с большими данными
Исходя из определения Big Data, можно сформулировать основные принципы работы с такими данными:
1. Горизонтальная масштабируемость. Поскольку данных может быть сколь угодно много – любая система, которая подразумевает обработку больших данных, должна быть расширяемой. В 2 раза вырос объём данных – в 2 раза увеличили количество железа в кластере и всё продолжило работать.
2. Отказоустойчивость. Принцип горизонтальной масштабируемости подразумевает, что машин в кластере может быть много. Например, Hadoop-кластер Yahoo имеет более 42000 машин (по этой ссылке можно посмотреть размеры кластера в разных организациях). Это означает, что часть этих машин будет гарантированно выходить из строя. Методы работы с большими данными должны учитывать возможность таких сбоев и переживать их без каких-либо значимых последствий.
3. Локальность данных. В больших распределённых системах данные распределены по большому количеству машин. Если данные физически находятся на одном сервере, а обрабатываются на другом – расходы на передачу данных могут превысить расходы на саму обработку. Поэтому одним из важнейших принципов проектирования BigData-решений является принцип локальности данных – по возможности обрабатываем данные на той же машине, на которой их храним.
Все современные средства работы с большими данными так или иначе следуют этим трём принципам. Для того, чтобы им следовать – необходимо придумывать какие-то методы, способы и парадигмы разработки средств разработки данных. Один из самых классических методов я разберу в сегодняшней статье.
MapReduce
Про MapReduce на хабре уже писали (раз, два, три), но раз уж цикл статей претендует на системное изложение вопросов Big Data – без MapReduce в первой статье не обойтись J
MapReduce – это модель распределенной обработки данных, предложенная компанией Google для обработки больших объёмов данных на компьютерных кластерах. MapReduce неплохо иллюстрируется следующей картинкой (взято по ссылке):
MapReduce предполагает, что данные организованы в виде некоторых записей. Обработка данных происходит в 3 стадии:
1. Стадия Map. На этой стадии данные предобрабатываются при помощи функции map(), которую определяет пользователь. Работа этой стадии заключается в предобработке и фильтрации данных. Работа очень похожа на операцию map в функциональных языках программирования – пользовательская функция применяется к каждой входной записи.
Функция map() примененная к одной входной записи и выдаёт множество пар ключ-значение. Множество – т.е. может выдать только одну запись, может не выдать ничего, а может выдать несколько пар ключ-значение. Что будет находится в ключе и в значении – решать пользователю, но ключ – очень важная вещь, так как данные с одним ключом в будущем попадут в один экземпляр функции reduce.
2. Стадия Shuffle. Проходит незаметно для пользователя. В этой стадии вывод функции map «разбирается по корзинам» – каждая корзина соответствует одному ключу вывода стадии map. В дальнейшем эти корзины послужат входом для reduce.
3. Стадия Reduce. Каждая «корзина» со значениями, сформированная на стадии shuffle, попадает на вход функции reduce().
Функция reduce задаётся пользователем и вычисляет финальный результат для отдельной «корзины». Множество всех значений, возвращённых функцией reduce(), является финальным результатом MapReduce-задачи.
Несколько дополнительных фактов про MapReduce:
1) Все запуски функции map работают независимо и могут работать параллельно, в том числе на разных машинах кластера.
2) Все запуски функции reduce работают независимо и могут работать параллельно, в том числе на разных машинах кластера.
3) Shuffle внутри себя представляет параллельную сортировку, поэтому также может работать на разных машинах кластера. Пункты 1-3 позволяют выполнить принцип горизонтальной масштабируемости.
4) Функция map, как правило, применяется на той же машине, на которой хранятся данные – это позволяет снизить передачу данных по сети (принцип локальности данных).
5) MapReduce – это всегда полное сканирование данных, никаких индексов нет. Это означает, что MapReduce плохо применим, когда ответ требуется очень быстро.
Примеры задач, эффективно решаемых при помощи MapReduce
Word Count
Начнём с классической задачи – Word Count. Задача формулируется следующим образом: имеется большой корпус документов. Задача – для каждого слова, хотя бы один раз встречающегося в корпусе, посчитать суммарное количество раз, которое оно встретилось в корпусе.
Раз имеем большой корпус документов – пусть один документ будет одной входной записью для MapRreduce–задачи. В MapReduce мы можем только задавать пользовательские функции, что мы и сделаем (будем использовать python-like псевдокод):
Функция map превращает входной документ в набор пар (слово, 1), shuffle прозрачно для нас превращает это в пары (слово, [1,1,1,1,1,1]), reduce суммирует эти единички, возвращая финальный ответ для слова.
Обработка логов рекламной системы
Второй пример взят из реальной практики Data-Centric Alliance.
Задача: имеется csv-лог рекламной системы вида:
Необходимо рассчитать среднюю стоимость показа рекламы по городам России.
Функция map проверяет, нужна ли нам данная запись – и если нужна, оставляет только нужную информацию (город и размер платежа). Функция reduce вычисляет финальный ответ по городу, имея список всех платежей в этом городе.
Резюме
В статье мы рассмотрели несколько вводных моментов про большие данные:
· Что такое Big Data и откуда берётся;
· Каким основным принципам следуют все средства и парадигмы работы с большими данными;
· Рассмотрели парадигму MapReduce и разобрали несколько задач, в которой она может быть применена.
Первая статья была больше теоретической, во второй статье мы перейдем к практике, рассмотрим Hadoop – одну из самых известных технологий для работы с большими данными и покажем, как запускать MapReduce-задачи на Hadoop.
В последующих статьях цикла мы рассмотрим более сложные задачи, решаемые при помощи MapReduce, расскажем об ограничениях MapReduce и о том, какими инструментами и техниками можно обходить эти ограничения.
Спасибо за внимание, готовы ответить на ваши вопросы.
Что такое Big Data (большие данные) в маркетинге: проблемы, алгоритмы, методы анализа
Большие данные (Big Data) — довольно распространенное понятие в IT и интернет-маркетинге. По сути, определение термина лежит на поверхности: «большие данные» означает управление и анализ очень больших объемов данных. Если смотреть шире, то это информация, которая не поддается обработке классическими способами по причине больших объемов.
Содержание
Big Data — что это такое?
Цифровые технологии присутствуют во всех областях жизни человека. Объем записываемых в мировые хранилища данных ежесекундно растет, а это означает, что такими же темпами должны изменяться условия хранения информации и появляться новые возможности для наращивания ее объема.
Эксперты в области IT высказывают мнение, что расширение Big Data и ускорение темпа роста стало объективной реальностью. Ежесекундно гигантские объемы контента генерируют такие источники, как социальные сети, информационные сайты, файлообменники — и это лишь сотая часть поставщиков.
Согласно исследованию IDC Digital Universe, в ближайшие пять лет объем данных на планете вырастет до 40 зеттабайтов, то есть к 2020 году на каждого живущего на Земле человека будет приходиться по 5200 Гб.
Рост Big Data к 2020 году, прогноз IDC Digital Universe от 2012 года Источник:www.emc.com.
Известно, что основной поток информации генерируют не люди. Источником служат роботы, находящиеся в постоянном взаимодействии друг с другом. Это приборы для мониторинга, сенсоры, системы наблюдения, операционные системы персональных устройств, смартфоны, интеллектуальные системы, датчики и прочее. Все они задают бешеный темп роста объема данных, что приводит к появлению потребности наращивать количество рабочих серверов (и реальных, и виртуальных) — как следствие, расширять и внедрять новые data-центры.
По сути, большие данные — довольно условное и относительное понятие. Самое распространенное его определение — это набор информации, по объему превосходящей жесткий диск одного персонального устройства и не поддающейся обработке классическими инструментами, применяемыми для меньших объемов.
Наглядная иллюстрация роста объемов с 1986 до 2007 годов. Источник: www.martinhilbert.net.
Технология Big Data — что это? Обобщенно говоря, технологию обработки больших данных можно свести к трем основным направлениям, решающим три типа задач:
В сущности, применение Big Data подразумевает все направления работы с огромным объемом самой разрозненной информации, постоянно обновляемой и разбросанной по разным источникам. Цель предельна проста — максимальная эффективность работы, внедрение новых продуктов и рост конкурентоспособности.
Проблема Big Data
Проблемы системы Big Data можно свести к трем основным группам: объем, скорость обработки, неструктурированность. Это три V — Volume, Velocity и Variety.
Хранение больших объемов информации требует специальных условий, и это вопрос пространства и возможностей. Скорость связана не только с возможным замедлением и «торможением», вызываемом старыми методами обработок, это еще и вопрос интерактивности: чем быстрее процесс, тем больше отдача, тем продуктивнее результат.
Проблема неоднородности и неструктурированности возникает по причине разрозненности источников, форматов и качества. Чтобы объединить данные и эффективно их обрабатывать, требуется не только работа по приведению их в пригодный для работы вид, но и определенные аналитические инструменты (системы).
Но это еще не все. Существует проблема предела «величины» данных. Ее трудно установить, а значит трудно предугадать, какие технологии и сколько финансовых вливаний потребуется для дальнейших разработок. Однако для конкретных объемов данных (терабайт, к примеру) уже применяются действующие инструменты обработки, которые к тому же и активно развиваются.
Существует проблема, связанная с отсутствием четких принципов работы с таким объемом данных. Неоднородность потоков только усугубляет ситуацию. Каким образом подходить к их применимости, чтобы вынести из них что-то ценное? Здесь требуется разработка такого направления, как новые методы анализа Big Data, чтобы этот поток стал полезным источником информации. Возможно, согласно утверждениям представителей университетов США (Нью-Йоркского, Вашингтонского и Калифорнийского), сегодня пришло время ввести и развивать новую дисциплину — науку о Big Data.
Собственно, это и является главной причиной отсрочки внедрения в компании проектов Big Data (если не брать во внимание еще один фактор — довольно высокую стоимость).
Подбор данных для обработки и алгоритм анализа может стать не меньшей проблемой, так как отсутствует понимание, какие данные следует собирать и хранить, а какие можно игнорировать. Становится очевидной еще одна «болевая точка» отрасли — нехватка профессиональных специалистов, которым можно было бы доверить глубинный анализ, создание отчетов для решения бизнес-задач и как следствие извлечение прибыли (возврат инвестиций) из Big Data.
Еще одна проблема Big Data носит этический характер. А именно: чем сбор данных (особенно без ведома пользователя) отличается от нарушения границ частной жизни? Так, информация, сохраняемая в поисковых системах Google и Яндекс, позволяет им постоянно дорабатывать свои сервисы, делать их удобными для пользователей и создавать новые интерактивные программы.
Поисковики записывают каждый клик пользователя в Интернете, им известен его IP-адрес, геолокация, интересы, онлайн-покупки, личные данные, почтовые сообщения и прочее, что, к примеру, позволяет демонстрировать контекстную рекламу в соответствии с поведением пользователя в Интернете. При этом согласия на это не спрашивается, а возможности выбора, какие сведения о себе предоставлять, не дается. То есть по умолчанию в Big Data собирается все, что затем будет храниться на серверах данных сайтов.
Здесь можно затронуть дргую проблему — обеспечение безопасности хранения и использования данных. Например, сведения о возможных покупателях и их история переходов на сайтах интернет-магазинов однозначно применимы для решения многих бизнес-задач. Но безопасна ли аналитическая платформа, которой потребители в автоматическом режиме (просто потому, что зашли на сайт) передают свои данные, — это вызывает множество споров. Современную вирусную активность и хакерские атаки не сдерживают даже супер-защищенные серверы правительственных спецслужб.
История больших данных
Сами по себе алгоритмы Big Data возникли при внедрении первых высокопроизводительных серверов (мэйнфреймов), обладающих достаточными ресурсами для оперативной обработки информации и пригодных для компьютерных вычислений и для дальнейшего анализа..
Сам термин Big Data впервые был озвучен в 2008 году на страницах спецвыпуска журнала Nature в статье главного редактора Клиффорда Линча. Этот номер издания был посвящен взрывному росту глобальных объемов данных и их роли в науке.
Специалисты утверждают, что большими данными допустимо называть любые потоки информации объемом более 100 Гб в сутки.
Однако в последние 2-3 года ученые отмечают, что термин Big Data стал лишком популяризирован, его употребляют практически везде, где упоминаются потоки данных, и как следствие он стал восприниматься слишком обобщенно и размыто. Виной тому не совсем сведущие журналисты и малоопытные предприниматели, которые попусту злоупотребляют данным понятием. По мнению западных экспертов, термин давно дискредитировал себя и пришло время от него отказаться.
Сегодня мировое сообщество вновь заговорило о больших данных. Причины — в неизменном росте объемов информации и отсутствии какой-либо структуры в ней. Предпринимателей и ученых волнуют вопросы качественной интерпретации данных, разработки инструментов для работы с ними и развитие технологий хранения. Этому способствует внедрение и активное использованию облачных моделей хранения и вычислений.
Big Data в маркетинге
Информация – это главный аспект успешного прогнозирования роста и составления маркетинговой стратегии в умелых руках маркетолога. Анализ больших данных давно и успешно применяется для определения: целевой аудитории, интересов, спроса, активности потребителей. Таким образом, Big Data является точнейшим инструментом маркетолога для предсказания будущего компании.
К примеру, анализ больших данных позволяет выводить рекламу (на основе известной модели RTB-аукциона — Real Time Bidding) только тем потребителям, которые заинтересованы в товаре или услуге.
Применение Big Data в маркетинге позволяет бизнесменам:
Например, сервис Google.trends очень точно укажет маркетологу прогноз сезонной активности спроса на конкретный продукт, колебания и географию кликов. Достаточно сопоставить эти сведения со статистическими данными собственного сайта и можно составить качественный план по распределению рекламного бюджета с указанием месяца и региона.
Вместо заключения
Сегодня, в пик высоких технологий и огромных потоков информации, у компаний появилось гораздо больше возможностей для достижения превосходных показателей в ведении бизнеса благодаря использованию Big Data.
Big data
Определение Big data обычно расшифровывают довольно просто – это огромный объем информации, часто бессистемной, которая хранится на каком либо цифровом носителе. Однако массив данных с приставкой «Биг» настолько велик, что привычными средствами структурирования и аналитики «перелопатить» его невозможно. Поэтому под термином «биг дата» понимают ещё и технологии поиска, обработки и применения неструктурированной информации в больших объемах.
Экскурс в историю и статистику
Из статистических выкладок аналитических агентств в 2005 году мир оперировал 4-5 эксабайтами информации (4-5 миллиардов гигабайтов), через 5 лет объемы big data выросли до 0,19 зеттабайт (1 ЗБ = 1024 ЭБ). В 2012 году показатели возросли до 1,8 ЗБ, а в 2015 – до 7 ЗБ. Эксперты прогнозируют, что к 2020 году системы больших данных будут оперировать 42-45 зеттабайтов информации.
До 2011 года технологии больших данных рассматривались только в качестве научного анализа и практического выхода ни имели. Однако объемы данных росли по экспоненте и проблема огромных массивов неструктурированной и неоднородной информации стала актуальной уже в начале 2012 году. Всплеск интереса к big data хорошо виден в Google Trends.
К развитию нового направления подключились мастодонты цифрового бизнеса – Microsoft, IBM, Oracle, EMC и другие. С 2014 года большие данные изучают в университетах, внедряют в прикладные науки – инженерию, физику, социологию.
Как работает технология big data?
Чтобы массив информации обозначить приставкой «биг» он должен обладать следующими признаками:
В современных системах рассматриваются два дополнительных фактора:
Принцип работы технологии big data основан на максимальном информировании пользователя о каком-либо предмете или явлении. Задача такого ознакомления с данными – помочь взвесить все «за» и «против», чтобы принять верное решение. В интеллектуальных машинах на основе массива информации строится модель будущего, а дальше имитируются различные варианты и отслеживаются результаты.
Современные аналитические агентства запускают миллионы подобных симуляций, когда тестируют идею, предположение или решают проблему. Процесс автоматизирован.
К источникам big data относят:
Принципы работы с массивами данных включают три основных фактора:
Для чего используют?
Чем больше мы знаем о конкретном предмете или явлении, тем точнее постигаем суть и можем прогнозировать будущее. Снимая и обрабатывая потоки данных с датчиков, интернета, транзакционных операций, компании могут довольно точно предсказать спрос на продукцию, а службы чрезвычайных ситуаций предотвратить техногенные катастрофы. Приведем несколько примеров вне сферы бизнеса и маркетинга, как используются технологии больших данных:
Методики анализа и обработки
К основным способам анализа больших массивов информации относят следующие:
Большие данные в бизнесе и маркетинге
Стратегии развития бизнеса, маркетинговые мероприятия, реклама основаны на анализе и работе с имеющимися данными. Большие массивы позволяют «перелопатить» гигантские объемы данных и соответственно максимально точно скорректировать направление развития бренда, продукта, услуги.
Например, аукцион RTB в контекстной рекламе работают с big data, что позволяет эффективно рекламировать коммерческие предложения выделенной целевой аудитории, а не всем подряд.
Какие выгоды для бизнеса:
Технологии используют в прогнозировании популярности продуктов, например, с помощью сервиса Google Trends и Яндекс. Вордстат (для России и СНГ).
Методики big data используют все крупные компании – IBM, Google, Facebook и финансовые корпорации – VISA, Master Card, а также министерства разных стран мира. Например, в Германии сократили выдачу пособий по безработице, высчитав, что часть граждан получают их без оснований. Так удалось вернуть в бюджет около 15 млрд. евро.
Недавний скандал с Facebook из-за утечки данных пользователей говорит о том, что объемы неструктурированной информации растут и даже мастодонты цифровой эры не всегда могут обеспечить их полную конфиденциальность.
Например, Master Card используют большие данные для предотвращения мошеннических операций со счетами клиентов. Так удается ежегодно спасти от кражи более 3 млрд. долларов США.
В игровой сфере big data позволяет проанализировать поведение игроков, выявить предпочтения активной аудитории и на основе этого прогнозировать уровень интереса к игре.
Сегодня бизнес знает о своих клиентах больше, чем мы сами знаем о себе – поэтому рекламные кампании Coca-Cola и других корпораций имеют оглушительный успех.
Перспективы развития
В 2019 году важность понимания и главное работы с массивами информации возросла в 4-5 раз по сравнению с началом десятилетия. С массовостью пришла интеграция big data в сферы малого и среднего бизнеса, стартапы:
Резюме
Мы изучили, что такое big data? Рассмотрели, как работает эта технология, для чего используются массивы информации. Познакомились с принципами и методиками работы с большими данными.
Рекомендуем к прочтению книгу Рика Смолана и Дженнифер Эрвитт «The Human Face of Big Data», а также труд «Introduction to Data Mining» Майкла Стейнбаха, Випин Кумар и Панг-Нинг Тан.