Наверное, каждый из нас сталкивался с ситуацией, когда становилось понятно, что ваши архивы (фото, видео, музыки) достигли такого размера, что стали неуправляемы, когда все доступные средства хранения переполнены, горы DVD заполонили ваши полки и ящики, наиболее важная информация продублирована на серверах Google, вы посылаете файлы самому себе и носите на флэшке целую коллекцию. При этом поиск нужной информации среди многих десятков тысяч файлов, разбросанных по дискам и DVD, отнимает все больше времени и нервов. Информационные технологии пока не могут предоставить пользователю удобные и понятные инструменты для работы с персональными архивами, и, в очередной раз попробовав очередную программу, которая обещает вам в считанные секунды найти всё, что вам нужно, вы говорите себе: «У меня проблема».
В конце 80-х годов прошлого века мы работали с магнитными лентами (всего-то 20 Мб на бобине с одинарной плотностью и 40 Мб – на бобине с двойной), на которых в то время хранились и распространялись астрономические каталоги, с которыми можно было работать только в последовательном доступе, так что каталоги поставлялись в двух версиях, упорядоченные по каждой из координат. При этом получить список звезд, упорядоченных, скажем, по звездной величине, было практически невозможно из-за ограниченного размера оперативной памяти (наша ЕС-1045 была уникальной и на ней было установлено аж 8 Мб оперативной памяти) и малой вместимости изотовских НМД – и это тоже была проблема.
Современные научные эксперименты из разряда «большой науки» сталкиваются с необходимостью работы с беспрецедентными объемами данных, на грани возможностей, которые предоставляют компьютерная индустрия и информационные технологии. Речь идет о таких экспериментах, как LHC (Большой Адронный Коллайдер), LSST (Большой Обзорный Синоптический Телескоп) с их петабайтами информации. Детектор ATLAS, предназначенный для поиска бозона Хиггса, выдает около петабайта сырых данных в секунду. Сохранение таких объемов и с такой скоростью современные технологии обеспечить не могут, так что сырые данные в режиме реального времени обрабатываются и «неинтересные события» фильтруются, оставляя потомкам около 100 Мб в секунду (несколько сотен событий) или около петабайта в год.
Современный бизнес также сталкивается с проблемами хранения, обработки и анализа гигантских объемов данных. Так, например, поисковый гигант Google заявляет, что ежесуточно серверы компании обрабатывают 24 Петабайта информации, а электронный аукцион Ebay и крупные социальные сети давно перешагнули петабайтный порог и тоже стоят перед проблемой управления большими объемами данных.
Термин «Big Data» появился как раз для описания ситуации, когда данные становятся большой проблемой. Понятно, что этот термин имеет относительный смысл (как и «Big Brother», «Big Bang») – например, ваш персональный архив в несколько терабайт может быть для вас «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 Терафлопс. Анализ данных в науке пока не требует учета изменяемости данных, когда требуется принять решение на основе только что поступивших данных, как, например, на рынке ценных бумаг, тем более в условиях высокой конкурентности запросов.
Воспроизводимость научных результатов является важнейшим принципом науки, обеспечение которого в эпоху «Big Data» накладывает дополнительные требования на технологию работы с данными, а именно обеспечение целостности всего цикла работы с данными – «хранение-обработка-анализ», что привело к идее реализации этого цикла в СУБД.
Осознание этих изменений в науке и бизнесе привело к пониманию того, какой должна стать новая архитектура информационных систем, чтобы справиться с этими «цунами данных». В первую очередь, это должен быть кластер независимых многоядерных компьютеров, имеющих собственные диски, соединенные быстрой сетью, на котором должна быть установлена СУБД, ориентированная на работу с распределенными, очень большими данными и параллельную обработку. Гигантские объемы данных делают старый способ обработки данных на суперкомпьютерных кластерах, когда данные из хранилища копируются в большой вычислительный кластер, экономически невыгодным и неэффективным. Алгоритмы работы с данными должны уметь работать, не требуя дополнительного дискового пространства, и быть устойчивыми к сбоям системы. Уже сейчас существуют решения, реализующие в том или ином виде такую архитектуру, например, система GrayWulf или открытый проект по созданию новой СУБД для науки SciDB, и, конечно, решения, основанные на Hadoop – открытой реализации MapReduce, программной инфраструктуры для разработки систем, ориентированных на распределенную обработку больших массивов данных.
Если рассматривать «Big Data» как данные, которые производят люди и машины, то основным их источником являются именно последние, так как рост населения Земли ни в коей мере не следует закону Мура и за последние 10 лет население увеличилось всего на 20%, в то время как количество транзисторов (а вместе с ним и емкость жестких дисков) увеличилось более чем на 2000% (Daniel Abadi). Машины стали основными производителями информации и ее потребителями, поэтому прежде всего требуется обеспечить не интерактивную работу с данными, а программный доступ к ним, чтобы можно было автоматизировать рутинные работы обработки наблюдений, поиска данных, чтобы машины могли работать с машинами. Автоматизация работы с данными сопряжена с рядом трудностей, в первую очередь связанных с необходимостью стандартизации описания данных (метаданных) и их форматов. Хранение данных на сегодняшний момент не является проблемой «Big Data» и, скорее всего, не будет таковой и в будущем, так как технология производства сенсоров (сенсоры и сенсорные сети являются основным источником данных) и компьютерная индустрия довольно хорошо следуют тому же закону Мура. Недавно, IBM объявило о создании хранилища данных размером 120 Петабайт (200 000 жестких дисков!) для задач предсказания погоды, в частности, ураганов. Значительные проблемы в организации межмашинного взаимодействия возникают из-за неточных данных, когда приходится работать с данными, чьи значения известны с ошибкой, например, с результатами измерений. Сенсоры производят данные с некоторой ошибкой по своей физической природе. Гигантские сенсорные сети уже сейчас производят «цунами данных», которые надо уметь не только хранить, но и обрабатывать, делать по ним выводы, принимать решения – и все это с учетом «неточности» как оригинальных данных, так и процедур обработки. Можно легко представить ситуацию, когда компьютер должен принять самостоятельное решение на основе мониторинга окружающей среды – данных, которые по своей природе являются неточными. Человек достаточно легко может принимать решения, оперируя такими данными. Например, если пришедший с улицы человек скажет, что на улице хорошая погода, то скорее всего вы не возьмете с собой зонтик, однако попробуйте добиться полезного совета от компьютера, подключенного к сенсорной сети! Такие популярные задачи, как сведение данных, полученных из разных источников (Data Cleaning, Data Merging, De-deduplication), требуют особых методов анализа в случае неточных данных, особенно для данных петабайтных размеров.
Очень важной задачей в эпоху Больших Данных является обучение специалистов, способных эффективно использовать достижения информационных технологий для работы с такими данными. Однако таких специалистов не хватает, что показывает все увеличивающийся спрос на них (по данным LinkedIn). Для науки это означает, что ученый должен не только уметь ставить научную задачу, анализировать результаты, но и разбираться в таких ненаучных вопросах, как форматы данных, язык запросов, алгоритмы, используемые для анализа. Можно только мечтать, что появится такая технология, при которой будет достаточно прочитать мануал пользователя, чтобы научиться составлять запросы и получать результаты, которые затем можно будет оформить в виде научной статьи (основной результат деятельности ученого). В реальности любой научный коллектив на сегодня обязан иметь специалистов по данным, которые планируют такие работы, как организация хранения и безопасности данных, описание и обработка сырых данных, доступ (для программ и ученых), визуализация данных и результатов. Даже если вдруг на некотором этапе окажется, что наконец реализован набор инструментов, позволяющий ученым эффективно работать с результатами экспериментов, то растущие запросы ученых бросят новые вызовы технологии, и потребуется следующий этап разработки новых инструментов, модификация старых и т. д., а это обычно приводит к построению уникальной, нетиражируемой технологии.
Несомненно, для науки нужна не штучная технология Больших Данных, но где же выход? Каким образом организовать процесс обучения, чтобы будущий предметный специалист мог не только ориентироваться в информационных технологиях, но и уметь проектировать процесс получения, хранения, обработки и анализа данных? На все эти вопросы придется отвечать в ближайшем будущем.


