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

Бартунов Олег Сергеевич (ГАИШ МГУ, oleg@sai.msu.su)

Карпов Сергей Валентинович (САО РАН, karpov@sao.ru)

Абстракт

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

Введение

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

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

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

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

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

  1. Астрономия стала всеволновой. Начиная с 70-х годов прошлого века наблюдения астрономических объектов ведутся не только в видимом свете, как раньше, а во всем диапазоне электромагнитного спектра, также регистрируются другие виды частиц и сигналов.
  2. Астрономические данные хранятся бесконечно долго. Так как данные астрономических наблюдений привязываются к конкретным объектам, то их необходимо хранить пока эти объекты существуют. Времена эволюции астрономических объектов очень велики, в обыденном смысле с хорошей точностью могут считаться бесконечными.
  3. Астрономия снова стала широкопольной. До конца XIX века наблюдения велись визуальным способом и давали информацию об отдельных объектах: одно наблюдение - один объект. Ситуация изменилась с появлением фотографии, на фотопластинках одновременно фиксировалось большое количество объектов. Ценность этой информации была ясна с самого начала, астрономические фотопластинки, снятые с последней четверти XIX до конца XX века хранятся в так называемых “стеклянных библиотеках”. Во второй половине прошлого века широкопольную астрофотографию потеснили гораздо более точные электронные методы фотометрии в которых, однако, одновременно можно было наблюдать только один объект (или небольшое количество объектов). Возвращение к “широкопольности” произошло после появления ПЗС-матриц большого размера. Сегодня одно наблюдение, длящееся от нескольких секунд до нескольких минут, дает от нескольких мегабайт до нескольких гигабайт информации.
  4. Политика доступа к информации. Данные всех космических и наземных экспериментов NASA, ESA и частично ESO становятся публично доступными спустя 1 год после их получения. Последние 10 лет КТБТ (Комитет по Тематике Больших Телескопов, который занимается распределением наблюдательного времени на крупнейших оптических инструментах России) требует открытия данных через 2 года после их получения.
  5. Этому же способствует так называемая “Early Science”(”Быстрая наука”): необходимость исследовать и публиковать полученные данные в строго определенный срок для того, чтобы успеть подготовить и подать успешную заявку на следующий цикл исследований. Это приводит к предельной интенсификации изучения полученных данных (и, возможно, делает его существенно более поверхностным).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. хранение “сырых” данных, их обработка происходит в самой СУБД с помощью пользовательских процедур для обеспечения версионности и истории изменения данных - то есть возможна реализация полного цикла работы с научными данными на уровне СУБД;
  2. Модель описания научных данных - это многомерный вложенный массив (новая идея);
  3. Вертикальное (поатрибутное) хранение данных для компрессии и уменьшения операций ввода-вывода;
  4. Сохранность данных за счет репликации части данных на разных узлах системы;
  5. Масштабируемость СУБД от ноутбука до x1000 серверов для хранения x10 петабайтов;
  6. Расширяемость типов данных и запросов;
  7. Отказ от поддержки транзакций.

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

SciDB разрабатывается в тесном сотрудничестве с ведущими научными проектами - потенциальными заказчиками системы. В научный совет SciDB входят ученые от различных направлений науки, включая: астрономию, нанотехнологии, генетику, сейсмологию, ядерную физику, метеорологию, и др. При этом, два проекта, LSST (Large Synaptic Survey Telescope) и российский космический проект ЛИРА (многоцветный фотометрический обзор всего неба до 16-17 звездной величины), предоставили детальные требования для использования SciDB в своих системах и часть исходных данных. Следовательно, система SciDB разрабатывается прямо под требования заказчиков и проходит апробирование на реальных задачах уже в процессе разработки.

К настоящему моменту сформированы международные команды исследователей и разработчиков под руководством крупнейших авторитетов в области баз данных (Стоунбрейкер, ДеВитт, Майер и другие) и разработан прототип системы, который был представлен на крупнейших международных конференциях SIGMOD 2009 (Providence, USA) , VLDB 2009 (Lyon, France). На основе прототипа в третьем квартале 2010 года выпущена первая публичная версия SciDB для ознакомления научной общественностью. К 2012 году планируется начало тестирование SciDB в проекте LSST.

vak-2010-contrib.txt · Last modified: 2010/12/12 23:45 by karpov
Back to top
SAI VO | Astronet | SAI MSU | Legal Information
RFBR