[МУЗЫКА] [МУЗЫКА] Давайте поговорим о том, какие есть тенденции в развитии современной науки о данных. В наш век всемирной информатизации вокруг нас непрерывно циркулируют огромные потоки данных. Откуда они берутся? Это и фотографии, которые мы делаем, это письма, которые мы отправляем, пересылаемые документы, показания разных датчиков и приборов, установленных во всевозможных местах. Посмотрите, какого объема могут достигать эти данные. Приведем лишь несколько цифр. Каждую минуту мы отправляем более 200 миллионов сообщений электронной почты, ставим около двух миллионов лайков на фотографии или посты в социальных сетях и отправляем около 300 000 твитов. Каждую секунду Google обрабатывает около 40 000 поисковых запросов. То есть среднее количество запросов в день составляет около 3,5 миллиардов. В сети появляется более 500 сайтов каждую минуту каждого дня. Около десяти лет назад было замечено, что объемы данных, которые мы накапливаем на запоминающих устройствах, растут значительно быстрее, чем возможности их обработки. Например, каждую минуту пользователи Youtube загружают около 100 часов видео, и чтобы просмотреть ролики, добавленные в течение одного дня, понадобилось бы около 15 лет. К настоящему времени стало очевидно, что объемы данных, генерируемых в различных системах сбора информации на порядок превышают объемы, которые можно сохранить на доступных объемах носителей. В связи с этим возникает проблема эффективного управления данными. И появился такой термин, который звучит как big data. Некоторые говорят, что это — миф. Давайте разберемся, есть ли big data на самом деле и что это такое. Основные признаки больших данных начинаются с латинской буквы V. Какие они? Первое, это Volume — объемы. Это действительно огромные данные. Известно, что в настоящее время каждые два дня мы генерируем такой объем информации, сколько было накоплено человечеством до 2003 года. Вторая буковка V расшифровывается как Variety. Данные являются слабо структурированными и очень разнородными. Что это может быть? Это могут быть фотографии, текстовая информация, тексты программ, музыка, видеоконтент — всё, что угодно. Какая в них структура? Практически никакой. Следующая буква V — Velocity. Это говорит о скорости изменения данных. Часто мы сталкиваемся с потоком данных, который нужно обрабатывать в текущий момент времени. Например, состояние пробок. Нужно предлагать оптимальный маршрут водителю в этот момент времени, когда он запрашивает дорожную ситуацию, а не через какое-то длительное время. Следующая буква V — это Value, значение. Хранимые данные имеют огромное значение. Они важны не только как таковые. Мы уже приводили примеры о том, что, например, в банковской системе необходимо хранить все изменения, касающихся счетов определенных клиентов, но мы можем, еще и анализируя эти данные, принимать разные решения даже на управленческом уровне. Например, анализируя поток данных от каких-либо приборов, мы можем предсказывать их поломку или можем анализировать изменения, или можем прогнозировать изменение роста курса акций на бирже, или можем делать другие важные выводы. Классификация объемов данных. Что такое большие? По мнению некоторых аналитиков, классификацию объемов данных можно представить так: большие наборы данных — это от 100 мегабайт до сотен гигабайт. Следующий вид объема — это огромный набор данных: от 1000 гигабайт до нескольких терабайт. Термин big data манипулирует данными от нескольких терабайт до сотен терабайт. И последний термин, касающийся объемов данных, это Extremely Big Data, особо большие данные, размеры которых измеряются петабайтами. Что касается структуры данных, мы научились манипулировать при помощи хорошо известных реляционных СУБД с данными, в которых удается выявить четкую структуру и проследить взаимосвязи между данными. Огромные потоки информации, которые сейчас существуют в информационном пространстве, не имеют структуру. Мы уже говорили о том, что это может быть видеоконтент, текстовые документы, аудиоконтент, изображения и так далее. С такими данными, не имеющими структуры, очень сложно работать, поэтому есть попытки выявить в них хоть какие-то элементы структуры. Например, рассмотрим электронное письмо. Какую информацию мы можем выявить о письме? Например, это может быть отправитель, получатель, дата письма, размер письма, язык, на котором написано письмо. Таким образом мы получаем полуструктурированные данные. То есть часть данных не имеет структуры, а часть данных структурирована определенным образом. Большие данные часто нужно обрабатывать в режиме реального времени, и мощности одного вычислительного устройства может не хватить на обработку данных такого объема. Поэтому нам потребуется распараллеливание вычислений. Кроме этого, нам потребуются приближенные методы обработки данных. Чуть позже скажем, что это такое. Также в последнее время получили широкое распространение системы, называемые NoSQL, которые расшифровываются как Not only SQL. Это не противопоставление традиционным системам, основанным на языке SQL, а специализированные системы, ориентированные именно на оперативную обработку данных. И достигается это за счет отказа от некоторых требований согласованности данных, которые предъявляются традиционными СУБД. Для распараллеливания обработки данных применяется технология под названием Map-Reduce. Она заключается в следующем. На первом этапе данные разделяются на группы, после предварительной обработки данные передаются центральному узлу, который заканчивает обработку данных, производя итоговые вычисления. Можно привести пример. Например, нужно получить итоговую сумму очень большого цифрового ряда. Что можно сделать? Можно разбить наши цифры на некоторые группы, на каждом узле сосчитать сумму значений этой подгруппы, а потом лишь сложить итоговые значения для получения общего результата. Эта технология Map-Reduce используется в широко распространенном инструменте под названием Hadoop. В этом инструменте данные хранятся на множестве узлов, количество этих узлов может достигать тысяч. Данные хранятся в нескольких копиях, обычно делается три копии данных для обеспечения надежности их хранения. Таким образом отказ одного конкретного узла не приводит к потере данных, и система может масштабироваться практически неограниченно. То есть ее производительность не падает или справляется с возрастающими объемами данных. Приближенная обработка запросов. Когда мы говорили о выполнении запросов реляционных СУБД, то мы считали, что нам требуется точное выполнение запросов. Нужно найти точную информацию, соответствующую введенным критериям, и эта информация должна быть полной. Что же мы получаем теперь? В связи с огромным количеством обрабатываемой информации, обработать в режиме реального времени все эти объемы и найти точный корректный ответ практически невозможно. Приведем пример. Если вам нужно найти задачник по геометрии на своей полке, то, наверное, на это потребуется небольшое время, и вы определите одну или две книжки. Вы получите точный ответ. Если вы введете термин «задачник по геометрии», например, в поисковую машину, то вам в ответ будут выданы миллионы ссылок. Что с этим делать? Вы не сможете разобраться в этом потоке информации. Поэтому часто бывает не нужно обрабатывать все источники данных. Нужно лишь как-то сузить круг рассматриваемой информации, проанализировать данные и выбрать из них наилучшее решение. Такое решение называется приближенным ответом. Естественно, результаты, полученные на основе такой выборки, будут приближенными, а их точность зависит от размера начальной выборки. Значимость результатов анализа: следует ожидать, что в ближайшие годы результаты анализа больших данных будут широко использоваться для принятия решений, в том числе критически важных. Например, можно анализировать показания разнообразных датчиков для предотвращения катастроф, поломок оборудования. Можно прогнозировать изменения цены валюты или акций на бирже, а также можно, например, определять факты мошенничества по нетипичному поведению людей. В последнее время появился специальный термин, который переводится как Интернет вещей — Internet of things. Что это означает? Множество различных устройств, приборов, например, авиалайнеры, автомобили, одежда, бытовые приборы, медицинские инструменты и так далее — все эти устройства способны передавать какую-то информацию, подключаясь к Интернету и обмениваясь данными. В офисных зданиях могут быть установлены разнообразные датчики для управления, например, отоплением, вентиляцией, кондиционированием, телефонной связью, безопасностью и освещением. Кроме того, Интернет стал проникать в ранее недоступные сферы. Например, пациенты, находящиеся в больнице, могут проглатывать устройство, позволяющее диагностировать некоторые заболевания и выявлять их причины. Это некоторые датчики, которые будут передавать информацию как бы изнутри пациента. Множество интернет-датчиков закрепляют на животных, растениях, разных геологических объектах. Интернет вещей радикальным образом изменил объемы данных. Чем больше генерируется данных, тем больший объем знаний из этого мы можем извлечь. И на основе большого объема знаний можно принимать решения о дальнейшем поведении наблюдаемой системы в целом. Что такое данные? Данные — это лишь сырой материал, который может быть преобразован в информацию в контексте той или иной конкретной задачи. При этом, чем больше объем накопленных данных, тем больше можно выявить закономерности и тенденции развития. И новые подходы к аналитической обработке данных открывают огромные возможности для создания значимых приложений в различных сегментах экономики. Как сейчас используются данные? Самое невероятное, что оперативное поступление большого количества данных отмечается уже сейчас. Однако информация, которая используется для получения знаний, в лучшем случае составляет 10 % из всей накапливаемой информации. И аналитическая обработка данных в большинстве случаев осуществляется в рамках отдельной конкретно взятой задачи.