Что такое big data в информатике
Что такое «Big Data»?
Термин «большие данные» или «big data» начал набирать популярность с 2011 года. Сегодня его хотя бы раз слышал каждый. Проблема в том, что часто понятие используют не по определению. Поэтому давайте подробно разберемся, что это такое.
С развитием технологий количество данных стало увеличиваться в геометрической прогрессии. Традиционные инструменты перестали покрывать потребность в обработке и хранении информации. Для обработки данных, объем которых превышает сотни терабайт и постоянно увеличивается, были созданы специальные алгоритмы. Их принято называть «big data».
Сегодня информация собирается огромными объемами из разных источников: интернет, контакт-центры, мобильные устройства и т.д. Чаще всего такие данные не имеют четкой структуры и упорядоченности, поэтому человек не может использовать их для какой-либо деятельности. Для автоматизации анализа применяют технологии «big data».
Когда появились первые большие данные?
Большие данные появились в 60-70 годах прошлого столетия вместе с первыми ЦОД (центры обработки данных). В 2005 году компании начали понимать масштабы создаваемого контента пользователями интернет-сервисов (Facebook, YouTube и др.). Тогда же начала работу первая платформа, предназначенная для взаимодействия с большими наборами данных, — Hadoop. Сегодня она представляет собой большой стек технологий для обработки информации. Чуть позже популярность начала набирать NoSQL — совокупность методов для создания систем управления большими данными.
Объем генерируемой информации стал увеличиваться с появлением крупных интернет-сервисов. Пользователи загружают фотографии, просматривают контент, ставят «лайки» и т.п. Вся эта информация собирается в больших объемах для дальнейшего анализа, после которого можно вносить улучшения в работу сервисов. Например, социальные сети используют большие данные для показа пользователям релевантной рекламы (то есть той, которая соответствует их потребностям и интересам) в таргете. Это позволяет соцсетям продавать бизнесу возможность проведения точных рекламных кампаний.
Основные свойства больших данных
В самом начале статьи мы определили три основных свойства больших данных из общепринятого определения. Давайте раскроем их более подробно:
Как с ними работают?
Большие данные несут в себе много полезной информации, на основе которой компании создают новые возможности и формируют бизнес-модели. Работа с большими данными делится на 3 этапа: интеграция, управление и анализ.
На этом этапе компания интегрирует в свою работу технологии и системы, позволяющие собирать большие объемы информации из разных источников. Внедряются механизмы обработки и форматирования данных для упрощения работы аналитиков с «big data».
Полученные данные нужно где-то хранить, этот вопрос решается до начала работы с ними. Решение принимается на основе множества критериев, главными из которых считаются предпочтения по формату и технологии обработки. Как правило, для хранения компании используют локальные хранилища, публичные или частные облачные сервисы.
Большие данные начинают приносить пользу после анализа. Это заключительный этап взаимодействия с ними. Для этого применяют машинное обучение, ассоциацию правил обучения, генетические алгоритмы и другие технологии. После анализа данных остается только самое ценное для бизнеса.
Примеры использования больших данных
В общих чертах с «big data» разобрались. Но остался важный вопрос — где их можно применять практически? Ответ: в любой сфере деятельности, которая оперирует необходимыми для анализа данными. Давайте рассмотрим несколько реальных примеров. Это позволит лучше понять, для чего нужны большие данные и как от них можно получить пользу.
В российской банковской сфере большие данные первым начал использовать «Сбербанк». На основе «big data» и биометрической системы в 2014 году они разработали систему идентификации личности клиента по фотографии. Принцип работы очень простой: сравнение текущего снимка с фотографией из базы, которую делают сотрудники при выдаче банковской карты. Новая система сократила случаи мошенничества в 10 раз.
Сегодня «Сбербанк» продолжает использовать большие данные в работе: сбор и анализ информации позволяет управлять рисками, бороться с мошенничеством, оценивать кредитоспособность клиентов, управлять очередями в отделениях и многое другое.
Еще один пример из российского банковского сектора — ВТБ24. Внедрять «big data» компания начала чуть позже «Сбербанка». Сегодня они используют большие данные для сегментации и управления оттоком клиентов, формирования финансовой отчетности, анализа отзывов в интернете и многого другого.
«Альфа-Банку» большие данные помогают контролировать репутацию бренда в интернете, оценивать кредитоспособность новых клиентов, персонализировать контент, управлять рисками и т.п.
Большие данные в бизнесе
Многие ошибочно полагают, что работа с большими данными актуальна только для банковского сектора и ИТ-компаний. Это опровергает пример «Магнитогорского металлургического комбината», который разработал сервис «Снайпер» для снижения расходов сырья в производстве. Технология собирает большие объемы информации, анализирует их и дает рекомендации по оптимизации расходов материалов.
«Сургутнефтегаз» использует специальную систему для отслеживания основных бизнес-процессов в режиме реального времени. Это помогает в автоматизации учета продукции, ценообразовании, обеспечении персонала нужными данными и т.п.
Big Data в маркетинге
Маркетологи используют большие данные для прогнозирования результатов рекламных кампаний. Также анализ помогает в определении наиболее заинтересованной аудитории. Яркий пример «big data» в маркетинге — Google Trends. В систему поступает огромное количество данных, а после анализа пользователь может оценить сезонность того или иного товара (работы, услуги).
Сложности при использовании
Где есть большие возможности, там поджидают и большие трудности. Это правило не обошло стороной big data.
Первая сложность, с которой сталкиваются компании, — большие данные занимают много места. Да, технологии хранения постоянно улучшаются, но при этом и объем данных неуклонно растет (в среднем в два раза каждые два года).
Приобретение огромного хранилища не решает всех проблем. От простого хранения данных толку не будет, с ними нужно работать для получения выгоды. Отсюда вытекает другая сложность — налаживание обработки получаемых больших данных.
Сейчас аналитики тратят 50-80% рабочего времени для приведения информации в приемлемый для клиента вид. Компаниям приходится нанимать больше специалистов, что увеличивает расходы.
И еще одна проблема — стремительное развитие больших данных. Регулярно появляются новые инструменты и сервисы для работы (например, Hbase). Бизнесу приходится тратить много времени и средств, чтобы «быть в тренде» и не отставать от развития.
Таким образом, big data — это совокупность технологий обработки больших объемов информации (сотни терабайтов и более) и сегодня мало кто отрицает их важность в будущем. Их популярность будет расти и распространение в бизнесе увеличиваться. Впоследствии разработают технологии по автоматизации анализа и с big data будут работать не только крупные компании, но и средние с маленькими.
Что такое Big Data простыми словами? Применение и перспективы больших данных
Через 10 лет мир перейдет в новую эпоху — эпоху больших данных. Вместо виджета погоды на экране смартфона, он сам подскажет вам, что лучше одеть. За завтраком телефон покажет дорогу, по которой вы быстрее доберетесь до работы и когда нужно будет выехать.
Под влиянием Big Data изменится все, чего бы не коснулся человек. Разберемся, что это такое, а также рассмотрим реальное применение и перспективы технологии.
Навигация по материалу:
Что такое Big data?
Большие данные — технология обработки информации, которая превосходит сотни терабайт и со временем растет в геометрической прогрессии.
Такие данные настолько велики и сложны, что ни один из традиционных инструментов управления данными не может их хранить или эффективно обрабатывать. Проанализировать этот объем человек не способен. Для этого разработаны специальные алгоритмы, которые после анализа больших данных дают человеку понятные результаты.
В Big Data входят петабайты (1024 терабайта) или эксабайты (1024 петабайта) информации, из которых состоят миллиарды или триллионы записей миллионов людей и все из разных источников (Интернет, продажи, контакт-центр, социальные сети, мобильные устройства). Как правило, информация слабо структурирована и часто неполная и недоступная.
Как работает технология Big-Data?
Пользователи социальной сети Facebook загружают фото, видео и выполняют действия каждый день на сотни терабайт. Сколько бы человек не участвовало в разработке, они не справятся с постоянным потоком информации. Чтобы дальше развивать сервис и делать сайты комфортнее — внедрять умные рекомендации контента, показывать актуальную для пользователя рекламу, сотни тысяч терабайт пропускают через алгоритм и получают структурированную и понятную информацию.
Сравнивая огромный объем информации, в нем находят взаимосвязи. Эти взаимосвязи с определенной вероятностью могут предсказать будущее. Находить и анализировать человеку помогает искусственный интеллект.
Нейросеть сканирует тысячи фотографий, видео, комментариев — те самые сотни терабайт больших данных и выдает результат: сколько довольных покупателей уходит из магазина, будет ли в ближайшие часы пробка на дороге, какие обсуждения популярны в социальной сети и многое другое.
Методы работы с большими данными:
Машинное обучение
Вы просматриваете ленту новостей, лайкаете посты в Instagram, а алгоритм изучает ваш контент и рекомендует похожий. Искусственный интеллект учится без явного программирования и сфокусирован на прогнозировании на основе известных свойств, извлеченных из наборов «обучающих данных».
Машинное обучение помогает :
Анализ настроений
Анализ настроений помогает :
Анализ социальных сетей
Анализ социальных сетей впервые использовали в телекоммуникационной отрасли. Метод применяется социологами для анализа отношений между людьми во многих областях и коммерческой деятельности.
Этот анализ используют чтобы :
Изучение правил ассоциации
Люди, которые не покупают алкоголь, берут соки чаще, чем любители горячительных напитков?
Изучение правил ассоциации — метод обнаружения интересных взаимосвязей между переменными в больших базах данных. Впервые его использовали крупные сети супермаркетов для обнаружения интересных связей между продуктами, используя информацию из систем торговых точек супермаркетов (POS).
С помощью правил ассоциации :
Анализ дерева классификации
Статистическая классификация определяет категории, к которым относится новое наблюдение.
Статистическая классификация используется для :
Генетические алгоритмы
Генетические алгоритмы вдохновлены тем, как работает эволюция, то есть с помощью таких механизмов, как наследование, мутация и естественный отбор.
Генетические алгоритмы используют для :
Регрессионный анализ
Как возраст человека влияет на тип автомобиля, который он покупает?
На базовом уровне регрессионный анализ включает в себя манипулирование некоторой независимой переменной (например, фоновой музыкой) чтобы увидеть, как она влияет на зависимую переменную (время, проведенное в магазине).
Регрессионный анализ используют для определения:
Data Mining — как собирается и обрабатывается Биг Дата
Загрузка больших данных в традиционную реляционную базу для анализа занимает много времени и денег. По этой причине появились специальные подходы для сбора и анализа информации. Для получения и последующего извлечения информацию объединяют и помещают в “озеро данных”. Оттуда программы искусственного интеллекта, используя сложные алгоритмы, ищут повторяющиеся паттерны.
Хранение и обработка происходит следующими инструментами :
Реальное применение Big Data
Самый быстрый рост расходов на технологии больших данных происходит в банковской сфере, здравоохранении, страховании, ценных бумагах и инвестиционных услугах, а также в области телекоммуникаций. Три из этих отраслей относятся к финансовому сектору, который имеет множество полезных вариантов для анализа Big Data: обнаружение мошенничества, управление рисками и оптимизация обслуживания клиентов.
Банки и компании, выпускающие кредитные карты, используют большие данные, чтобы выявлять закономерности, которые указывают на преступную деятельность. Из-за чего некоторые аналитики считают, что большие данные могут принести пользу криптовалюте. Алгоритмы смогут выявить мошенничество и незаконную деятельность в крипто-индустрии.
Благодаря криптовалюте такой как Биткойн и Эфириум блокчейн может фактически поддерживать любой тип оцифрованной информации. Его можно использовать в области Big Data, особенно для повышения безопасности или качества информации.
Например, больница может использовать его для обеспечения безопасности, актуальности данных пациента и полного сохранения их качества. Размещая базы данных о здоровьи в блокчейн, больница обеспечивает всем своим сотрудникам доступ к единому, неизменяемому источнику информации.
Также, как люди связывают криптовалюту с волатильностью, они часто связывают большие данные со способностью просеивать большие объемы информации. Big Data поможет отслеживать тенденции. На цену влияет множество факторов и алгоритмы больших данных учтут это, а затем предоставят решение.
Перспективы использования Биг Дата
Blockchain и Big Data — две развивающиеся и взаимодополняющие друг друга технологии. С 2016 блокчейн часто обсуждается в СМИ. Это криптографически безопасная технология распределенных баз данных для хранения и передачи информации. Защита частной и конфиденциальной информации — актуальная и будущая проблема больших данных, которую способен решить блокчейн.
Аналитика Big Data будет важна для отслеживания транзакций и позволит компаниям, использующим блокчейн, выявлять скрытые схемы и выяснять с кем они взаимодействуют в блокчейне.
Рынок Big data в России
Весь мир и в том числе Россия используют технологию Big Data в банковской сфере, услугах связи и розничной торговле. Эксперты считают, что в будущем технологию будут использовать транспортная отрасль, нефтегазовая и пищевая промышленность, а также энергетика.
Аналитики IDC признали Россию крупнейшим региональным рынком BDA. По расчетам в текущем году выручка приблизится к 1,4 миллиардам долларов и будет составлять 40% общего объема инвестиций в секторе больших данных и приложений бизнес-аналитики.
Где можно получить образование по Big Data (анализу больших данных)?
GeekUniversity совместно с Mail.ru Group открыли первый в России факультет Аналитики Big Data.
Для учебы достаточно школьных знаний. У вас будут все необходимые ресурсы и инструменты + целая программа по высшей математике. Не абстрактная, как в обычных вузах, а построенная на практике. Обучение познакомит вас с технологиями машинного обучения и нейронными сетями, научит решать настоящие бизнес-задачи.
После учебы вы сможете работать по специальностям:
Особенности изучения Big Data в GeekUniversity
Через полтора года практического обучения вы освоите современные технологии Data Science и приобретете компетенции, необходимые для работы в крупной IT-компании. Получите диплом о профессиональной переподготовке и сертификат.
Обучение проводится на основании государственной лицензии № 040485. По результатам успешного завершения обучения выдаем выпускникам диплом о профессиональной переподготовке и электронный сертификат на портале GeekBrains и Mail.ru Group.
Проектно-ориентированное обучение
Обучение происходит на практике, программы разрабатываются совместно со специалистами из компаний-лидеров рынка. Вы решите четыре проектные задачи по работе с данными и примените полученные навыки на практике. Полтора года обучения в GeekUniversity = полтора года реального опыта работы с большими данными для вашего резюме.
Наставник
В течение всего обучения у вас будет личный помощник-куратор. С ним вы сможете быстро разобраться со всеми проблемами, на которые в ином случае ушли бы недели. Работа с наставником удваивает скорость и качество обучения.
Основательная математическая подготовка
Профессионализм в Data Science — это на 50% умение строить математические модели и еще на 50% — работать с данными. GeekUniversity прокачает ваши знания в матанализе, которые обязательно проверят на собеседовании в любой серьезной компании.
GeekUniversity дает полтора года опыта работы для вашего резюме
В результате для вас откроется в 5 раз больше вакансий:
Для тех у кого нет опыта в программировании, предлагается начать с подготовительных курсов. Они позволят получить базовые знания для комфортного обучения по основной программе.
Поделитесь этим материалом в социальных сетях и оставьте свое мнение в комментариях ниже.
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 и о том, какими инструментами и техниками можно обходить эти ограничения.
Спасибо за внимание, готовы ответить на ваши вопросы.