В настоящее время астрономия переживает взрывной рост объемов данных, получаемых в результате наблюдений и моделирования. Их эффективное хранение становится проблемой, сравнимой по важности с собственно анализом. В настоящей работе мы анализируем причины такого "информационного взрыва" и описываем цели и задачи, стоящие в связи с ним перед Виртуальной Обсерваторией, в первую очередь, разработки стандартов и технологий удаленного и программного доступа к данным. Также мы рассматриваем основные требования, предъявляемые к современной научной информации, такие, как воспроизводимость получаемых результатов, версионность, контролируемость ее происхождения. Очевидным способом долговременного надежного хранения информации являются системы управления базами данных (СУБД). Мы обсуждаем, насколько хорошо различные виды астрономической информации – каталоги, спектры, изображения, временные ряды, результаты симуляций и т. д. – совместимы с реляционной моделью, используемой в наиболее распространенных СУБД, и формулируем требования к специализированным системам, оптимальным для хранения и анализа научной информации.
Ключевые слова: виртуальная обсерватория, научные данные, системы хранения научной информации, СУБД.
Практически во всех областях науки ученые сталкиваются с задачами хранения и анализа больших объемов данных [1]. Данные при этом могут быть как результатами экспериментов, так и результатами, полученными при численном моделировании. Анализ терабайтов и даже петабайтов научных данных становится повседневной задачей. Обычно из-за низкой производительности современных систем исходные данные наблюдений хранятся вне каких-либо СУБД, и только метаданные индексируются в базе данных. Для доступа и обработки исходных данных научным коллективам приходится разрабатывать свои программные системы под каждую конкретную задачу. При таком подходе очень трудно поддерживать версионность данных, историю их изменений, полу-чение научных результатов из "сырых" данных, что нарушает один из основных принципов науки – принцип повторяемости научных результатов.
Еще одна особенность современных научных экспериментов – это сочетание распределенного хранилища данных с необходимостью доступа к высокопроизводительным вычислительным комплексам для получения научных данных из результатов эксперимента и их анализа. Такие вычислительные комплексы в настоящее время в основном используются для решения расчетных задач, не требующих работы со сверхбольшими данными. Однако и в задачах численного моделирования появились требования к возможности сохранения текущего состояния в СУБД, например, расчет космологической эволюции Вселенной требует сотни гигабайт для сохранения одного "слепка" Вселенной [2]. Подобные расчеты ведутся на распределенных кластерах с тысячами процессоров, и возможность работы с такими данными в СУБД позволяет проследить историю эволюции отдельных объектов Вселенной (частицы, звезды, галактики, скопления галактик, ...).
Сложившаяся ситуация в больших научных проектах обсуждалась ведущими учеными из разных областей знания, представителями коммерческих компаний и разработчиками в области СУБД (систем управления баз данных) на серии конференций XLDB [3] в 2007 – 2011 годах, в результате чего возник проект SciDB [4, 5] под руководством профессора MIT Майка Стоунбрейкера и его коллег из крупнейших университетов США. Основная цель проекта – разработка в кратчайшие сроки СУБД для нужд больших научных и промышленных проектов, в которых требуется анализ сверхбольших объемов данных (сотни и тысячи петабайт), масштабируемой на тысячи серверов.
Причины "информационного взрыва" в астрономии обусловлены следующими факторами:
В настоящее время планируется множество астрономических экспериментов, которые будут получать огромные массивы информации. Среди них можно выделить следующие:
Подобные объемы данных, однако, уже достигаются в современных промышленных и бизнеспроектах. Так, на сегодня официально анонсирована самая большая в мире база данных с активным доступом – Yahoo Everest [9], которая на май 2008 года имела хранилище размером более 2 петабайт, несколько триллионов записей, с ежедневным поступлением около 24 млрд событий и более 1/2 миллиарда пользователей в месяц. В 2009 году база данных доросла до 10 петабайт (интересно отметить, что Yahoo Everest – это свободная СУБД PostgreSQL [10] с распределенным вертикальноориентированным хранилищем и поддержкой кластеризации). Ясно, что использование СУБД для хранения объемов данных, которые будут получаться в вышеприведенных экспериментах, технологически возможно.
Использование СУБД для хранения научной информации обладает существенными преимуществами по сравнению с хранением данных в отдельных файлах на дисках в разных форматах (ASCIIтекст или основанный на XML формат VOTable для каталогов и таблиц, FITSформат для изображений и т. д.). Этот вариант, обеспечивая легкость работы с каждым отдельным файлом, не позволяет быстро и надежно находить нужную информацию во всем массиве данных. Промежуточный вариант – использование базы данных для хранения метаинформации о содержимом файлов – обеспечивает ускорение поиска нужного файла по некоторому (весьма узкому) классу полей (таких, как время получения кадра, координаты его центра и т. д.), но не позволяют искать по всему содержимому файлов, а также требуют аккуратной и своевременной синхронизации базы данных и файлового хранилища при добавлении или изменении данных. При хранении же всей информации в базе данных подобные проблемы не возникает – СУБД обеспечивает целостность и связность всего массива информации, а также при построении соответствующих индексов позволяет проводить быстрый ее поиск.
Среди этих видов научной информации лишь один – каталоги – органично ложится на реляционную модель, являющуюся основой современных СУБД. В рамках этой модели информация представляется в виде неупорядоченного набора отношений, сопоставляющих каждой записи значения полейатрибутов. Подавляющее большинство остальных типов информации, напротив, предполагает внутреннюю упорядоченность данных – пикселей изображения, отсчетов кривой блеска и т. д. Реализация эффективного хранения подобной информации, которая наиболее естественным образом представляется в виде многомерных (возможно, вложенных друг в друга) массивов, в современных СУБД сопряжена с существенными трудностями.
Система SciDB разрабатывается, в первую очередь исходя из требований больших научных проектов, и имеет ряд принципиальных отличий от существующих СУБД. SciDB разрабатывается как система для хранения и анализа "сырых" и производных научных данных. Некоторые основные функции традиционных баз данных не поддерживаются в SciDB, позволяя системе более эффективно обрабатывать аналитические запросы. Например, так как исходные данные фактически не обновляются, в SciDB не предусмотрена эффективная поддержка больших объемов транзакций, что позволяет избежать серьезных накладных расходов. Наконец, SciDB – проект с открытым исходным кодом и бесплатной лицензией на использование, что отвечает требованиям большинства заказчиков. Открытый код позволяет экономить средства заказчиков на масштабные внедрения системы, а открытый процесс разработки обеспечивает высокое качество технических решений. Кроме того, открытость СУБД обеспечивает технологическую независимость и возможность обмена данными между разными научными коллективами.
Кроме привычных функций систем управления базами данных, в SciDB присутствуют новые механизмы работы с данными, специально разработанные для анализа научных данных. Модель данных SciDB представляет собой многомерные вложенные массивы, таким образом, ученым не надо моделировать свои данные как таблицы записей, что в свою очередь ведет к более простой формулировке аналитических запросов и на порядки увеличивает производительность системы. Так как в SciDB будут хранится данные, полученные с приборов, SciDB поддерживает погрешность измерений на уровне модели данных и языка запросов. Наконец, SciDB изначально разрабатывается для работы на большом спектре вычислительных систем, от переносного ПК до больших кластеров и суперкомпьютеров. Таким образом, ученые смогут работать с данными в одной среде, например, отлаживая аналитические алгоритмы на персональных компьютерах используя небольшую выборку данных, а отлаженные запросы без изменений запускать на высокопроизводительных кластерах. Также SciDB интегрируется с популярными вычислительными пакетами программного обеспечения, такими, как R, Matlab и другие, что позволит ученым использовать уже готовые алгоритмы обработки данных при переходе на SciDB.
Как упоминалось раньше, из-за недостатков существующих СУБД большинство научных проектов, в которых встает задача анализа больших объемов данных, осуществляют обработку и анализ исходных данных вне системы управления базами данных. SciDB решает эту проблему, обеспечивая эффективное и удобное хранилище исходных данных и широкий набор инструментов для обработки и анализа данных. Версионное хранилище и учет всех преобразований данных позволяют пользователям SciDB получить точную информацию о версиях данных и всех вычислениях, произведенных над исходными данными. Это позволяет эффективно устранять ошибки в алгоритмах переработки данных, отслеживать процесс переработки исходных данных при получении подозрительных результатов и в точности повторять вычисления над исходными данными. При этом SciDB работает без каких-либо ограничений как на суперкомпьютерном кластере, так и на персональном компьютере, что позволит ученым работать в одной и той же среде со своими данными. После переработки исходных данных SciDB позволяет делиться полученными результатами, осуществлять выборки и выполнять аналитические запросы широкому кругу коллег, при этом соблюдая произвольную политику доступа как к данным, так и к полученным результатам.
В итоге SciDB имеет следующие особенности, отличающие ее от существующих СУБД [11]:
SciDB разрабатывается в тесном сотрудничестве с ведущими научными проектами – потенциальными заказчиками системы. В научный совет SciDB входят ученые от различных направлений науки, вклю-чая астрономию, нанотехнологии, генетику, сейсмологию, ядерную физику, метеорологию. При этом два проекта, LSST [7] (Large Synaptic Survey Telescope) и российский космический проект ЛИРА (многоцветный фотометрический обзор всего неба до 16 – 17 звездной величины), предоставили детальные требования для использования SciDB в своих системах и часть исходных данных. Следовательно, система SciDB разрабатывается прямо под требования заказчиков и проходит апробирование на реальных задачах уже в процессе разработки.
К настоящему моменту сформированы международные команды исследователей и разработчиков под руководством крупнейших авторитетов в области баз данных (Стоун-брейкер, ДеВитт, Майер и другие) и разработан прототип системы, который был представлен на крупнейших международных конференциях SIGMOD 2009 (Providence, USA), VLDB 2009 (Lyon, France). На основе прототипа в третьем квартале 2010 года выпущена первая публичная версия SciDB для ознакомления научной общественностью. К 2012 году планируется начало тестирование SciDB в проекте LSST.
[1] О. Бартунов, П. Велихов. Научные вызовы технологиям СУБД// Суперкомпьютеры. – 2011. – 1 (5). – С. 28. – URL: http://supercomputers.ru/ index.php?option=com_k2&view=item&id=163:научные-вызовы-технологиям-субд.
[2] V. Springel, S. White, A. Jenkins et al. Simulations of the formation, evolution and clustering of galaxies and quasars// Nature. – 2005. – 437. – P. 629-636. – URL: http://arxiv.org/abs/astro-ph/0504097.
[3] Extremely Large Databases and Data Management. – URL: www.xldb.org
[4] SciDB scientific database. – URL: http://www.scidb.org
[5] О. Бартунов, П. Велихов, Р. Симаков, К. Книжник, А. Смирнов. SciDB – новая СУБД для больших объемов научных данных// Суперкомпьютеры – 2011. – 1(5). – С. 35-42. – URL: http://supercomputers.ru/index.php?option=com_k2&view=item&id=167:scidb-–-новая-субд-для-больших-объемов-научных-данных
[6] Large Hadron Collider. – URL: http://lhc.web.cern.ch/lhc/
[7] Large Synoptic Survey Telescope. – URL: http://www.lsst.org
[8] G. Beskin, S. Bondar, S.Karpov et al. Multi-objective transforming telescope for wide-field optical monitoring of the sky with high-temporal resolution// Proc. of the SPIE– 2010. – 7733. – P. 77330V-77330V-17.
[9] Ahuja, Mona and Chen et al. Peta-scale data warehousing at Yahoo!// Proc. of the 35th SIGMOD Int. Conf. on Management of Data. – 2009. – P. 855-862.
[10] Система управления базами данных PostgreSQL. – URL: http://www.postgresql.org
[11] M. Stonebraker, P. Brown, A. Poliakov, S. Raman. The architecture of SciDB//Proc. of the 23rd Int. Conf. on Scientific and Statistical Database Management. – 2011. – P. 1-16.
Бартунов Олег Сергеевич - Государственный астрономический институт им. Штернберга при МГУ им. М.В.Ломоносова, E-mail: [email protected];
Карпов Сергей Валентинович - Специальная Астрофизическая Обсерватория РАН