big data

BIG DATA

Наверное каждый из нас сталкивался с ситуацией, когда становилось понятно, что объем персонального архива (фото, видео, музыка,..) достиг неуправляемого размера, когда все доступные средства хранения переполнены, горы двд заполонили ваши полки и ящики, наиболее важная информация продублирована на серверах гугла (посылая файлы самому себе) и носится с собой на флешке. При этом, поиск нужной информации среди многих десятков тысяч файлов, разбросанных по дискам и двд, практически занимает много времени и нервов. Информационные технологии пока не могут предоставить пользователю удобные и понятные инструменты для работы с персональными архивами, и в очередной раз попробовав очередную программу, которая обещает вам в считанные секунды найти все что вам нужно, вы говорите себе - "У меня проблема".

В конце 80-х годов прошлого века мы работали с магнитными лентами (всего-то, 20 мб на бобине с одинарной плотностью и 40 мб - с двойной) , на которых в то время хранились и распространялись астрономические каталоги, с которыми можно было работать только в последовательном доступе, так что каталоги поставлялись в двух версиях - упорядоченные по одной из координат. При этом получить список звезд, упорядоченных, скажем, по звездной величине, было практически невозможно из-за ограниченного размера оперативной памяти (наша ЕС-1045 была уникальной и на ней было установленно аж 8 мб оперативной памяти) и малой вместимости изотовских НМД - и это тоже была проблема.

Современные научные эксперименты из разряда "большой науки" сталкиваются с необходимостью работы с беспрецендентными объемами данных, на грани возможностей, которые предоставляет компьютерная индустрия и информационные технологии. Речь идет о таких экспериментах, как LHC (большой Адронный Коллайдер), LSST (Большой обзор неба) с их петабайтами информации. Детектор ATLAS, предназначенный для поиска бозона Хиггса, выдает около петабайта сырых данных в секунду. Такие объемы и скорость современная индустрия обеспечить не может, так что сырые данные в режиме реального времени обрабатываются и "неинтересные события" фильтруются, оставляя около 100 мбайт в секунду (несколько сотен событий) или около петабайта в год.

Современный бизнес также сталкивается с проблемой хранения,обработки и анализа гигантских объемов данных, так например, поисковый гигант Гугл заявляет, что ежесуточно сервера компании обрабатывают 24 петабайта информации в сутки, а электронный аукцион Ebay и крупные социальные сети давно перешагнули петабайтный порог и тоже стоят перед проблемой управления большими объемами данных.

Термин "Big Data" появился как раз для описания ситуации, когда данные становятся большой проблемой. Понятно, что этот термин имеет относительный смысл - например, ваш персональный архив в несколько терабайт может быть для вас "Big Data", в то время как на уровне института "Big Data" - это несколько десятков терабайт. Однако, принято использовать термин "Big Data" для описания данных, объем которых превышает возможности доступных на данный момент технологических средств, и для работы с ними требуется разработка специальных инструментов. Например, для данных астрономического проекта Pan-STARRS используется масштабируемая кластерная архитектура GrayWulf.

Несмотря на то, что как утверждает Wikipedia, термин "Big Data" появился достаточно давно, но заметный информационный шум в обществе начался с 2008 года, когда несколько уважаемых изданий, таких как Nature (2008), CACM (2008), The Economist (2010) ,Science (2011) посвятили специальные номера, посвященные проблеме “Больших Данных”. Это подтверждает рост интереса к термину "BIG DATA", который можно получить с помощью Google Insight.

И совсем уже полное признание проблеме "Big Data" придало упоминание, в вышедшем 26 июля 2011 года традиционном исследовании компании Gartner "Hype Cycle for Emerging Technologies, 2011", нового тренда '"Big Data" and Extreme Information Processing and Management', который позиционируется на участке первоначального роста, когда рынок еще до конца не понял, что точно ожидать от этой технологии и связывает с ней слишком большие ожидания.

Поскольку термин "Big Data" непосредственно указывает только на объем данных, хотя необходимо учитывать и другие факторы, такие как большее разнообразие данных, скорость поступления и изменения данных и требование быстрого (в реальном времени) ответа, то Gartner использует более длинное название "Big Data" and Extreme Information Processing and Management'. Проиллюстрируем эти факторы на примере науки:

  • Развитие технологии производства сенсоров привело к лавинообразному увеличению данных (data deluge). Так, например, весь архив телескопа Хаббла,накопленный за 15 лет работы, занимает около 25 Тб, в то время как большой обзорный телескоп (LSST) c диаметром зеркала 8.4 метра и матрицей 3 гигапиксела будет производить 30 Тб данных только за одну ночь, а полный объем наблюдательного архива оценивается в 200 петабайт;
  • Современная наука оперирует произвольными данными в самых разных форматах - это могут быть табличные данные в СУБД, иерархические данные, документы, видео, изображения, аудио файлы,и так далее, что приводит к высокой сложности систем управления и обработки;
  • Большие научные эксперименты стали настолько сложны и дороги, что для их подготовки и проведения привлекаются многие страны и сотни организаций. Это приводит к необходимости обмена данными, использованию открытых стандартов и лицензий. Кроме того, существует необходимость исследовать и публиковать полученные данные в строго определенный срок для того, чтобы успеть подготовить и подать успешную заявку на следующий цикл исследований. Это приводит к предельной интенсификации изучения полученных данных и требует соответствующих инструментов для быстрого анализа и поиска данных;
  • Развитие приемных устройств требует очень сложной процедуры обработки данных, так что необходимо хранить "сырые данные" для возможной переобработки данных, что накладывает существенные требования на размеры хранилища для хранения всех возможных версий обработанных (научных) данных.
  • Скорость поступления данных может сильно меняться от редких массовых поступлений, до непрерывного потока данных. Гигантский радиотелескоп с суммарной площадью антенн 1 квадратный километр (SKA) , планирующийся к запуску в 2015 году, будет передавать сигналы с одной антенны со скоростью 160 Gb/s, что в 10 раз превышает весь нынешний интернет трафик. Ожидаемое количество получаемых сырых данных в день оценивается в 1 экзабайт!, которые будут сжиматься до 10 петабайт изображений для дальнейшего хранения. Для обработки данных в реальном времени необходимо 100 терафлоп. Анализ данных в науке пока не требует учета изменяемости данных, когда требуется принять решение на основе только что поступивших данных, как, например, на рынке ценных бумаг, тем более в условиях конкурентности (новый трансатлантический кабель специально прокладывают для ускорения доступа к онлайне торговле на 6 милисекунд, что требует инвестиций в 300 млн долларов).

Воспроизводимость научных результатов является важнейшим принципом науки, обеспечение которого в эпоху "Big Data" накладывает дополнительные требования на технологию работы с данными, а именно, обеспечение целостности всего цикла работы с данными - хранение-обработка-анализ, что привело к идее реализации этого цикла в СУБД.

Осознание проблемы "Больших Данных" в науке и бизнесе привело к пониманию новой архитектуры информационных систем, которая призвана справиться с этими "цунами данных". В первую очередь, это должен быть кластер независимых многоядерных компьютеров, имеющих собственные диски, соединенные быстрой сетью, на котором установлена СУБД, ориентированная на работу с распределенными очень большими данными и параллельную обработку. Гигантские объемы данных делают старый способ обработки данных на суперкомпьютерных кластерах, когда данные из хранилища копируются в большой вычислительный кластер, экономически невыгодным и неэффективным. Алгоритмы работы с данными должны уметь работать не требуя дополнительного дискового пространства и быть устойчивыми к сбоям системы. Уже сейчас существуют решения, реализующие в том или ином виде такую архитектуру, например, система "GrayWulf", или открытый проект по созданию новой СУБД для науки SciDB, и конечно, решения, основанные на Hadoop - открытой реализации MapReduce, программной инфраструктуры для разработки систем, ориентированных на распределенную обработку больших массивов данных.

Если рассматривать "Big Data", как данные, которые производят люди и машины, то основным производителем данных являются именно последние, так как рост населения Земли ни в коей мере не следует закону Мура и за последние 10 лет население увеличилось всего на 20%, в то время как количество транзисторов (а вместе с ним и емкость жестких дисков) увеличилось более чем на 2000% (Daniel Abadi). Машины стали основными производителями информации и ее потребителями, поэтому требуется обеcпечить прежде всего не интерактивную работу с данными, а программный доступ к ним, чтобы можно было автоматизировать рутинные работы обработки наблюдений, поиска данных, чтобы машины могли работать с машинами. Автоматизация работы с данными привносит много трудностей, в первую очередь, связанные с необходимостью стандартизации описания данных (метаданных) и их форматов. Хранение данных на сегодняшний момент не является проблемой "Big Data", и, скорее всего, не будет таковой и в будущем, так как технология производства сенсоров (сенсоры и сенсорные сети являются основным источником данных) и компьютерная индустрия довольно хорошо следуют одному и тому же закону Мура. Недавно, IBM объявило о создании хранилища данных, размером 120 петабайт (200,000 жестких дисков !) для задачи предсказания погоды, в особенности, ураганов. Одной из основной проблемой для организации межмашинного взаимодействия является проблема неточных данных, когда приходится работать с данными, чьи значения известны с ошибкой, например, с результатами измерений. Сенсоры, по своей физической природе, генерят данные с некоторой ошибкой, а гигантские сенсорные сети уже сейчас производят "цунами данных", которые надо не только уметь хранить, но и обрабатывать, а затем делать выводы, принимать решения и все это с учетом "неточности". Можно легко представить ситуацию, когда компьютер должен принять самостоятельное решение на основе мониторинга, например окружающей среды, на основе данных, которые по сути являются неточными. Человек достаточно легко может принимать решения, оперируя такими данными. Например, если входящий с улицы человек скажет, что на улице хорошая погодa, то скорее всего вы не возьмете с собой зонтик, однако, попробуйте добиться совета от компьютера, подключенного к сенсорной сети ! Такие популярные задачи, как сведение данных, полученных из разных источников (data cleaning, data merging, de-deduplication), требуют особых методов анализа в случае неточных данных, особенно для данных петабайтных размеров.

Таким образом, задача обеспечения автоматизации работы с неточными данными (хранение, обработка и анализ), хранящихся с СУБД, является важнейшей задачей в эпоху "Big Data".