Документ взят из кэша поисковой машины. Адрес
оригинального документа
: http://vo.astronet.ru/wiki/vak-2010-contrib
Дата изменения: Unknown Дата индексирования: Sat Apr 9 22:55:20 2016 Кодировка: UTF-8 Поисковые слова: п п п п п п п п п п п п п п п п п п п п п п п р п р п |
Бартунов Олег Сергеевич (ГАИШ МГУ, oleg@sai.msu.su)
Карпов Сергей Валентинович (САО РАН, karpov@sao.ru)
В настоящее время астрономия переживает взрывной рост объемов получаемых в результате наблюдений и моделирования данных. Их эффективное хранение становится проблемой, сравнимой по важности с собственно анализом. В докладе мы анализируем причины такого “информационного взрыва” и описываем цели и задачи, стоящие в связи с ним перед Виртуальной Обсерваторией - в первую очередь, разработку стандартов и технологий удаленного и программного доступа к данным. Также мы рассматриваем основные требования, предъявляемые к современной научной информации, такие, как воспроизводимость получаемых результатов, версионность, контролируемость ее происхождения итд. Очевидным способом долговременного надежного хранения информации являются системы управления базами данных (СУБД). Мы обсуждаем, насколько хорошо различные виды астрономической информации - каталоги, спектры, изображения, временные ряды, результаты симуляций итд - совместимы с реляционной моделью, используемой в наиболее распространенных СУБД и формулируем требования к специализированным системам, оптимальным для хранения и анализа научной информации.
Практически во всех областях науки ученые сталкиваются с задачами хранения и анализа больших объемов данных. Данные при этом могут быть как результатами экспериментов, так и результатами, полученными при численном моделировании. Анализ терабайтов и даже петабайтов научных данных становится повседневной задачей. Обычно, из-за низкой производительности современных систем, исходные данные наблюдений хранятся вне каких-либо СУБД, и только метаданные индексируются в базе данных. Для доступа и обработки исходных данных научным коллективам приходится разрабатывать свои программные системы под каждую конкретную задачу. При таком подходе очень трудно поддерживать версионность данных, историю их изменений, получение научных результатов из “сырых” данных, что нарушает один из основных принципов науки - принцип повторяемости научных результатов.
Еще одна особенность современных научных экспериментов - это сочетание распределенного хранилища данных с необходимостью доступа к высокопроизводительным вычислительным комплексам для получения научных данных из результатов эксперимента и их анализа. Такие вычислительные комплексы в настоящее время в основном используются для решения расчетных задач, не требующих работы со сверхбольшими данными. Однако, и в задачах численного моделирования появились требования к возможности сохранения текущего состояния в СУБД, например, расчет космологической эволюции Вселенной требует сотни гигабайт для сохранения одного “слепка” Вселенной. Подобные расчеты ведутся на распределенных кластерах с тысячами процессоров и возможность работы с такими данными в СУБД позволяет проследить историю эволюции отдельных объектов Вселенной (частицы, звезды, галактики, скопления галактик, ...).
Сложившаяся ситуация в больших научных проектах обсуждалась ведущими учеными из разных областей знания,представителями коммерческих компаний и разработчиками в области СУБД (систем управления баз данных) на серии конференций XLDB 2007 и 2008 гг, в результате чего возник проект SciDB под руководством профессора MIT Майка Стоунбрейкера и его коллег из крупнейших университетов США. Основная цель проекта - разработка в кратчайшие сроки СУБД для нужд больших научных и промышленных проектов, в которых требуется анализ сверхбольших объемов данных (сотни и тысячи петабайт), масштабируемая на тысячи серверов.
Причины “информационного взрыва” в астрономии обусловлены следующими факторами:
В настоящее время планируется множество астрономических экспериментов, которые будут получать огромные массивы информации. Среди них можно выделить следующие:
Подобные объемы данных, однако, уже достигаются в современных промышленных и бизнес-проектах. Так, на сегодня официально анонсирована самая большая в мире база данных с активным доступом - Yahoo Everest, которая на май 2008 года имела хранилище размером более 2 Pb, несколько триллионов записей, с ежедневным поступлением около 24 млрд событий и более 1/2 миллиарда пользователей в месяц. В 2009 году база данных доросла до 10Pb (интересно отметить, что Yahoo Everest - это свободная СУБД PostgreSQL с распределенным вертикально-ориентированным хранилищем и поддержкой кластеризации). Ясно, что использование СУБД для хранения объемов данных, которые будут получаться в вышеприведенных экспериментах, технологически возможно.
Использование СУБД для хранения научной информации обладает существенными преимуществами по сравнению с хранением данных в отдельных файлах на дисках в разных форматах (ASCII-текст или основанный на XML формат VOTable для каталогов и таблиц, FITS-формат для изображений, итд). Этот вариант, обеспечивая легкость работы с каждым отдельным файлом, не позволяет быстро и надежно находить нужную информацию во всем массиве данных. Промежуточный вариант - использование базы данных для хранения метаинформации о содержимом файлов - обеспечивает ускорение поиска нужного файла по некоторому (весьма узкому) классу полей (таких, как время получения кадра, координаты его центра, итд), но не позволяют искать по всему содержимому файлов, а также требуют аккуратной и своевременной синхронизации базы данных и файлового хранилища при добавлении или изменении данных. При хранении же всей информации в базе данных подобные проблемы не возникает - СУБД обеспечивает целостность и связность всего массива информации, а также, при построении соответствующих индексов, позволяет проводить быстрый ее поиск.
Многообразие научных экспериментов, инструментов и задач приводит к большому разнообразию типов астрономической информации, а также подходов и требуемых методик работы с ней. В приведенном ниже списке сведены наиболее часто встречающиеся виды астрономических данных, а также применяемые к ним операции.
Среди этих видов научной информации лишь один - каталоги - органично ложится на реляционную модель, являющуюся основой современных СУБД. В рамках этой модели информация представляется в виде неупорядоченного набора отношений, сопоставляющих каждой записи значения полей-атрибутов. Подавляющее большинство остальных типов информации, напротив, предполагает внутреннюю упорядоченность данных - пикселей изображения, отсчетов кривой блеска, итд. Реализация эффективного хранения подобной информации, которая наиболее естественным образом представляется в виде многомерных (и возможно вложенных друг в друга) массивов, в современных СУБД сопряжена с существенными трудностями.
Система SciDB разрабатывается в первую очередь исходя из требований больших научных проектов и имеет ряд принципиальных отличий от существующих СУБД. SciDB разрабатывается как система для хранения и анализа сырых и производных научных данных. Некоторые основные функции традиционных баз данных не поддерживаются в SciDB, позволяя системе более эффективно обрабатывать аналитические запросы. Например, так как исходные данные фактически не обновляются, в SciDB не предусмотрена эффективная поддержка больших объемов транзакций, что позволяет избежать серьезных накладных расходов. Наконец, SciDB - проект с открытым исходным кодом и бесплатной лицензией на использование, что отвечает требованиям большинства заказчиков. Открытый код позволяет экономить средства заказчиков на масштабные внедрения системы, а открытый процесс разработки обеспечивает высокое качество технических решений. Кроме того, открытость СУБД обеспечивает технологическую независимость и возможность обмена данными между разными научными коллективами.
Кроме привычных функций систем управления базами данных, в SciDB присутствуют новые механизмы работы с данными, специально разработанные для анализа научных данных. Модель данных SciDB представляет из себя многомерные вложенные массивы, таким образом ученым не надо моделировать свои данные как таблицы записей, что в свою очередь ведет к более простой формулировке аналитических запросов и на порядки увеличивает производительность системы. Так как в SciDB будут хранится данные полученные с приборов, SciDB поддерживает погрешность измерений на уровне модели данных и языка запросов. Наконец, SciDB изначально разрабатывается для работы на большом спектре вычислительных систем, от переносного ПК до больших кластеров и суперкомпьютеров. Таким образом, ученые смогут работать с данными в одной среде, например отлаживая аналитические алгоритмы на персональных компьютерах используя небольшую выборку данных, а отлаженные запросы без изменений запускать на высоко-производительных кластерах. Также, SciDB интегрируется с популярными вычислительными пакетами программного обеспечения, такими как R, Matlab и другие, что позволит ученым использовать уже готовые алгоритмы обработки данных при переходе на SciDB.
Как упоминалось раньше, из-за недостатков существующих СУБД, большинство научных проектов, в которых встает задача анализа больших объемов данных, осуществляют обработку и анализ исходных данных вне системы управления базами данных. SciDB решает эту проблему, обеспечивая эффективное и удобное хранилище исходных данных и широкий набор инструментов для обработки и анализа данных. Версионное хранилище и учет всех преобразований данных позволяет пользователям SciDB получить точную информацию о версиях данных и о всех вычислениях, произведенных над исходными данными. Это позволяет эффективно устранять ошибки в алгоритмах переработки данных, отслеживать процесс переработки исходных данных при получении подозрительных результатов, и в точности повторять вычисления над исходными данными. При этом SciDB работает без каких-либо ограничений, как на суперкомпьютерном кластере, так и на персональном компьютере, что позволит ученым работать в одной и той же среде со своими данными. После переработки исходных данных, SciDB позволяет делиться полученными результатами, осуществлять выборки и выполнять аналитические запросы широкому кругу коллег, при этом соблюдая произвольную политику доступа как к данным, так и к полученным результатам.
В итоге, 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.