РОССИЙСКИЙ НАУЧНЫЙ ЭЛЕКТРОННЫЙ ЖУРНАЛ Электронные библиотеки
2011 - Том 14 - Выпуск 1

Базы данных и астрономия - практический подход

Бартунов О.С., Карпов С.В.

 

Аннотация

В настоящее время астрономия переживает взрывной рост объемов данных, получаемых в результате наблюдений и моделирования. Их эффективное хранение становится проблемой, сравнимой по важности с собственно анализом. В настоящей работе мы анализируем причины такого "информационного взрыва" и описываем цели и задачи, стоящие в связи с ним перед Виртуальной Обсерваторией, в первую очередь, разработки стандартов и технологий удаленного и программного доступа к данным. Также мы рассматриваем основные требования, предъявляемые к современной научной информации, такие, как воспроизводимость получаемых результатов, версионность, контролируемость ее происхождения. Очевидным способом долговременного надежного хранения информации являются системы управления базами данных (СУБД). Мы обсуждаем, насколько хорошо различные виды астрономической информации – каталоги, спектры, изображения, временные ряды, результаты симуляций и т. д. – совместимы с реляционной моделью, используемой в наиболее распространенных СУБД, и формулируем требования к специализированным системам, оптимальным для хранения и анализа научной информации.

Ключевые слова: виртуальная обсерватория, научные данные, системы хранения научной информации, СУБД.

1. Введение

Практически во всех областях науки ученые сталкиваются с задачами хранения и анализа больших объемов данных [1]. Данные при этом могут быть как результатами экспериментов, так и результатами, полученными при численном моделировании. Анализ терабайтов и даже петабайтов научных данных становится повседневной задачей. Обычно из-за низкой производительности современных систем исходные данные наблюдений хранятся вне каких-либо СУБД, и только метаданные индексируются в базе данных. Для доступа и обработки исходных данных научным коллективам приходится разрабатывать свои программные системы под каждую конкретную задачу. При таком подходе очень трудно поддерживать версионность данных, историю их изменений, полу-чение научных результатов из "сырых" данных, что нарушает один из основных принципов науки – принцип повторяемости научных результатов.

Еще одна особенность современных научных экспериментов – это сочетание распределенного хранилища данных с необходимостью доступа к высокопроизводительным вычислительным комплексам для получения научных данных из результатов эксперимента и их анализа. Такие вычислительные комплексы в настоящее время в основном используются для решения расчетных задач, не требующих работы со сверхбольшими данными. Однако и в задачах численного моделирования появились требования к возможности сохранения текущего состояния в СУБД, например, расчет космологической эволюции Вселенной требует сотни гигабайт для сохранения одного "слепка" Вселенной [2]. Подобные расчеты ведутся на распределенных кластерах с тысячами процессоров, и возможность работы с такими данными в СУБД позволяет проследить историю эволюции отдельных объектов Вселенной (частицы, звезды, галактики, скопления галактик, ...).

Сложившаяся ситуация в больших научных проектах обсуждалась ведущими учеными из разных областей знания, представителями коммерческих компаний и разработчиками в области СУБД (систем управления баз данных) на серии конференций XLDB [3] в 2007 – 2011 годах, в результате чего возник проект SciDB [4, 5] под руководством профессора MIT Майка Стоунбрейкера и его коллег из крупнейших университетов США. Основная цель проекта – разработка в кратчайшие сроки СУБД для нужд больших научных и промышленных проектов, в которых требуется анализ сверхбольших объемов данных (сотни и тысячи петабайт), масштабируемой на тысячи серверов.

2. Современные базы данных в астрономии

Причины "информационного взрыва" в астрономии обусловлены следующими факторами:

  • aстрономия стала всеволновой; начиная с 1970-х годов наблюдения астрономических объектов ведутся не только в видимом свете, как раньше, а во всем диапазоне электромагнитного спектра, также регистрируются другие виды частиц и сигналов;
  • астрономические данные хранятся бесконечно долго; так как данные астрономических наблюдений привязываются к конкретным объектам, то их необходимо хранить пока эти объекты существуют; времена эволюции астрономических объектов очень велики, в обыденном смысле с хорошей точностью могут считаться бесконечными;
  • астрономия снова стала широкопольной; до конца XIX века наблюдения велись визуальным способом и давали информацию об отдельных объектах: одно наблюдение – один объект; ситуация изменилась с появлением фотографии, на фотопластинках одновременно фиксировалось большое количество объектов; ценность этой информации была ясна с самого начала, астрономические фотопластинки, снятые с последней четверти XIX до конца XX века, хранятся в так называемых "стеклянных библиотеках"; во второй половине прошлого века широкопольную астрофотографию потеснили гораздо более точные электронные методы фотометрии, в которых, однако, одновременно можно было наблюдать только один объект (или небольшое количество объектов); возвращение к "широкопольности" произошло после появления ПЗСматриц большого размера; сегодня одно наблюдение, длящееся от нескольких секунд до нескольких минут, дает от нескольких мегабайт до нескольких гигабайт информации;
  • политика доступа к информации: данные всех космических и наземных экспериментов NASA, ESA и частично ESO становятся публично доступными спустя год после их получения; Последние 10 лет КТБТ (Комитет по тематике больших телескопов, который занимается распределением наблюдательного времени на крупнейших оптических инструментах России) требует открытия данных через два года после их получения;
  • этому же способствует так называемая Early Science ("Быстрая наука"): необходимость исследовать и публиковать полученные данные в строго определенный срок для того, чтобы успеть подготовить и подать успешную заявку на следующий цикл исследований; это приводит к предельной интенсификации изучения полученных данных (и, возможно, делает его существенно более поверхностным).

2.1 Объемы данных и способы их хранения

В настоящее время планируется множество астрономических экспериментов, которые будут получать огромные массивы информации. Среди них можно выделить следующие:

  • Большой адронный коллайдер (LHC [6]), который ежегодно будет производить около 15 Pb данных, а его распределенное хранилище будет состоять из примерно 200 центров данных по всему миру;
  • большой телескоп для обзора неба (LSST [7]) с диаметром зеркала 8.4 метра и матрицей размером 3.2 Гп (гигапикселей); ожидается наполнение БД в 49 миллиардов объектов (256 атрибутов), 2.8 триллиона источников (56 атрибутов); к 2025 году ожидается накопить 14 петабайт данных!
  • Российский космический эксперимент ЛИРА (КЭ ЛИРА), который разрабатывается в ГАИШ МГУ совместно с РосКосмосом, планирует получение около 400 терабайтов "сырых" данных для получения многополосной высокоточной фотометрии звезд всего неба, в результате которого будет проведен большой ряд однородных наблюдений более 400 миллионов звезд;
  • широкопольная мониторинговая камера MiniMegaTORTORA [8], разрабатываемая в САО РАН для регулярного мониторинга небесной сферы с субсекундным временным разрешением, будет получать 5 терабайт "сырых" данных за ночь, которые будут обрабатываться в реальном времени.

Подобные объемы данных, однако, уже достигаются в современных промышленных и бизнеспроектах. Так, на сегодня официально анонсирована самая большая в мире база данных с активным доступом – Yahoo Everest [9], которая на май 2008 года имела хранилище размером более 2 петабайт, несколько триллионов записей, с ежедневным поступлением около 24 млрд событий и более 1/2 миллиарда пользователей в месяц. В 2009 году база данных доросла до 10 петабайт (интересно отметить, что Yahoo Everest – это свободная СУБД PostgreSQL [10] с распределенным вертикальноориентированным хранилищем и поддержкой кластеризации). Ясно, что использование СУБД для хранения объемов данных, которые будут получаться в вышеприведенных экспериментах, технологически возможно.

Использование СУБД для хранения научной информации обладает существенными преимуществами по сравнению с хранением данных в отдельных файлах на дисках в разных форматах (ASCIIтекст или основанный на XML формат VOTable для каталогов и таблиц, FITSформат для изображений и т. д.). Этот вариант, обеспечивая легкость работы с каждым отдельным файлом, не позволяет быстро и надежно находить нужную информацию во всем массиве данных. Промежуточный вариант – использование базы данных для хранения метаинформации о содержимом файлов – обеспечивает ускорение поиска нужного файла по некоторому (весьма узкому) классу полей (таких, как время получения кадра, координаты его центра и т. д.), но не позволяют искать по всему содержимому файлов, а также требуют аккуратной и своевременной синхронизации базы данных и файлового хранилища при добавлении или изменении данных. При хранении же всей информации в базе данных подобные проблемы не возникает – СУБД обеспечивает целостность и связность всего массива информации, а также при построении соответствующих индексов позволяет проводить быстрый ее поиск.

2.2 Типы и особенности астрономических данных

Многообразие научных экспериментов, инструментов и задач приводит к большому разнообразию типов астрономической информации, а также подходов и требуемых методик работы с ней. В приведенном ниже списке сведены наиболее часто встречающиеся виды астрономических данных, а также применяемые к ним операции:

  • каталоги;
  • радиальные запросы / conesearch, кросс-отождествления / crossmatch;
  • сферические индексы - q3c, htm, healpix;
  • спектры;
  • калибровки - сложение и умножение;
  • выделение особенностей;
  • определение континуума;
  • аппроксимация профилей;
  • временные ряды;
  • калибровки - сложение, умножение и т.д.;
  • агрегаты - среднее, дисперсия, индекс дисперсии, ...;
  • бинирование;
  • нелокальные операции - сглаживание, фурье, вейвлеты;
  • выделение особенностей;
  • изображения;
  • калибровки - сложение и умножение;
  • аффинные преобразования - поворот, сдвиг, масштабирование, ...;
  • нелокальные преобразования - сглаживание, вейвлеты;
  • выделение объектов;
  • пороговая обработка;
  • апертурная фотометрия;
  • PSF-фотометрия;
  • классификация по форме;
  • широкоугольные обзоры/all-sky surveys;
  • оптические;
  • набор изображений - все как обычно;
  • CMB;
  • сферические карты;
  • пикселизация - healpix;
  • нелокальные операции на сфере - спектры мощности и т.д.;
  • рентген, гамма, ...;
  • многомерные фотонные листы;
  • координаты, время прихода и энергия каждого кванта;
  • многомерная фильтрация;
  • построение изображений - фильтрация по времени и энергии;
  • построение спектров - фильтрация по координатам и времени
  • построение кривых блеска - фильтрация по координатам и энегрии
  • данные симуляций;
  • многомерные массивы;
  • фильтрация;
  • версионность - развитие симуляции во времени, эволюция.

Среди этих видов научной информации лишь один – каталоги – органично ложится на реляционную модель, являющуюся основой современных СУБД. В рамках этой модели информация представляется в виде неупорядоченного набора отношений, сопоставляющих каждой записи значения полейатрибутов. Подавляющее большинство остальных типов информации, напротив, предполагает внутреннюю упорядоченность данных – пикселей изображения, отсчетов кривой блеска и т. д. Реализация эффективного хранения подобной информации, которая наиболее естественным образом представляется в виде многомерных (возможно, вложенных друг в друга) массивов, в современных СУБД сопряжена с существенными трудностями.

3. SciDB - база данных для научной информации

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

Кроме привычных функций систем управления базами данных, в SciDB присутствуют новые механизмы работы с данными, специально разработанные для анализа научных данных. Модель данных SciDB представляет собой многомерные вложенные массивы, таким образом, ученым не надо моделировать свои данные как таблицы записей, что в свою очередь ведет к более простой формулировке аналитических запросов и на порядки увеличивает производительность системы. Так как в SciDB будут хранится данные, полученные с приборов, SciDB поддерживает погрешность измерений на уровне модели данных и языка запросов. Наконец, SciDB изначально разрабатывается для работы на большом спектре вычислительных систем, от переносного ПК до больших кластеров и суперкомпьютеров. Таким образом, ученые смогут работать с данными в одной среде, например, отлаживая аналитические алгоритмы на персональных компьютерах используя небольшую выборку данных, а отлаженные запросы без изменений запускать на высокопроизводительных кластерах. Также SciDB интегрируется с популярными вычислительными пакетами программного обеспечения, такими, как R, Matlab и другие, что позволит ученым использовать уже готовые алгоритмы обработки данных при переходе на SciDB.

3.1 Основные характеристики разрабатываемой СУБД:

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

В итоге SciDB имеет следующие особенности, отличающие ее от существующих СУБД [11]:

  • хранение "сырых" данных, их обработка происходят в самой СУБД с помощью пользовательских процедур для обеспечения версионности и истории изменения данных, то есть возможна реализация полного цикла работы с научными данными на уровне СУБД;
  • модель описания научных данных – это многомерный вложенный массив (новая идея);
  • вертикальное (поатрибутное) хранение данных для компрессии и уменьшения операций ввода-вывода;
  • сохранность данных за счет репликации части данных на разных узлах системы;
  • масштабируемость СУБД от ноутбука до x1000 серверов для хранения x10 петабайтов;
  • расширяемость типов данных и запросов;
  • отказ от поддержки транзакций.

3.2 Текущее состояние SciDB и перспективы развития

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: oleg@sai.msu.su;

oleg@sai.msu.su

Карпов Сергей Валентинович - Специальная Астрофизическая Обсерватория РАН

karpov@sao.ru


Последнее обновление страницы было произведено: 2011-12-05

Все предложения и пожелания по содержанию и структуре портала направляйте по адресу rdlp@iis.ru