Документ взят из кэша поисковой машины. Адрес
оригинального документа
: http://www.sai.msu.su/~megera/wiki/scidb_scientific_challenges
Дата изменения: Unknown Дата индексирования: Sun Apr 10 22:34:03 2016 Кодировка: UTF-8 Поисковые слова: п п п п п п п п п п п п п п п п п п п |
Повсеместное распространение интернет, ускорение и унификация доступа к информации и т.п. привело к формулированию концепции киберобщества (информационного общества) как реалистичного сценария постиндустриального общества - новой исторической фазы развития цивилизации, в которой главными продуктами производства являются информация и знания.
Составной частью информационного общества является так называемая e-Science - синтез науки и информатики, наступающий когда роль информации и ее обработки в научных исследованиях становится превалирующей. Переход на e-стадию (информационную стадию) развития - реальная ситуация, затронувшая на сегодняшний день ряд естественных наук, оперирующих огромными объемами информации: физика (в первую очередь исследование элементарных частиц и физика высоких энергий), геофизика и геология, астрономия, биология, экономика, медицина. В этих науках происходит процесс лавинного поступления информации, в первую очередь связанный с успехами в технологии создания приемных устройств (сенсорно-ориентированная наука). Также, приходится работать с гигантскими объемами синтетических данных, полученными при численном моделировании. В современных крупных экспериментах (включая и численное моделирование) анализ терабайтов и даже петабайтов научных данных становится повседневной задачей.
Причины "информационного взрыва" в астрономии обусловлены следующими факторами:
Доступ к информации осложнен тем, что результаты наблюдений хранятся в неоднородных распределенных архивах. Разнородность архивов определяется тем, что они создавались независимо и были ориентированы на различные эксперименты со своими целями. Распределенность информации связана со следующими причинами:
Специфика научных данных состоит в необходимости "вечного" хранения сырых данных (raw data, - это данные, полученные непосредственно с приемника и не подвергшиеся никакой обработки) , что накладывает повышенные требования к масштабируемости и защищенности систем хранения.
Отметим общие проблемы и особенности современной науки, связанные с увеличивающимся потоком данных (сейчас это сотни терабайтов, в ближайшие 5-10 лет - это десятки-сотни петабайт):
Эти проблемы необходимо срочно решать в ближайшее время, так как технологии производства приемных устройств (сенсоров) непрерывно улучшается, что приводит к дальнейшему росту данных, а следовательно, к усугублению описанных проблем.
Что такое очень большие базы данных ?
Следует различать базы данных как хранилища метаданных, которые содержат очень большое количество записей с активным доступом и базы данных, ориентированные на архивное хранение очень больших бинарных объектов (их также может быть очень много).
Что же изменилось в компьютерных технологиях ?
Не удивительно, что сейчас насчитывается около сотни различных СУБД, начиная от класических реляционных баз данных (Oracle, SQL Server, PostgreSQL, MySQL, Firebird, Ingres,…), которые обладают богатым набором возможностей, но их архитектура закладывалась во времена одного (не сетевого) большого и дорого компьютера с маленькой памятью и одноядерным процессором, и кончая специализированными хранилищами, оптимизированных для решения определенных задач (Vertica, H-Store, StreamDB..). Посередине находятся СУБД, для которых самым важным является масштабирование и ограниченный набор возможностей. Эти СУБД ориентированы на современную многоядерную архитектуру дешевых серверов с большой памятью, организованных в кластера. Поскольку один сервер уже не справляется с нагрузкой, то имеется два способа масштабирования:
Довольно часто вертикально-ориентированные базы данных отождествляют с нереляционными и NoSQL СУБД. На самом деле это не так, например,Vertica (C-Store), MonetDB - это реляционные СУБД с поатрибутным хранением и SQL. Более подробно о двух типах вертикально-ориентированных хранилищах.
Какой же класс СУБД годится для науки ? Очевидно, что богатые возможности реляционных СУБД крайне интересны для науки, но также очевидно, что строгая целостность и изоляция данных (CI в ACID) не важны, так как данные в науке в основном WORМ (Write Once Read Many) и вполне достаточна eventual consistency. Кроме того, реляционной модели не присуща внутренняя упорядоченность, в то время как для "сенсорно-ориентированной" науки, естественно хранить данные в массивах, которым присуща упорядоченность ! В реляционной модели реализация массивов очень неэффективна. Например, для сенсорных данных характерны задачи по поиску ближайших соседей, которая в реляционной модели может выглядеть очень логично и прозрачно
CREATE TABLE Observation (I integer NOT NULL, J integer NOT NULL, V float NOT NULL); SELECT A1.I, A1.J, AVG(A2.V) FROM Observation A1, Observation A2 WHERE A2.I BETWEEN A1.I ? 1 AND A1.I + 1 AND A2.J BETWEEN A1.J ? 1 AND A1.J + 1 GROUP BY A1.I, A1.J;
Однако, практическая реализация будет очень неэффективна.
Масштабируемость нужна по объему данных, но не нужна большая конкурентность и ориентированность на фиксированное время ожидания результата. В то же время, науке требуется более богатая модель данных нежели (ключ, значение). Многие науки согласились с тем, что наиболее важная структура данных - это многомерный вложенный массив с неровными краями и оптимизацией для разреженных данных. Если добавить сюда требования, специфические для науки, такие как поддержка версионности, происхождения, аннотирования данных, данных с ошибками итд, то приходим к выводу, что на сегодняшний момент нет СУБД, ориентированной на науку.
Майк Стоунбрейкер считает, что надо перестать "латать" устаревшие СУБД, что требуются кардинальные изменения в технологии СУБД, а именно - изменение принципа хранения данных. Он считает, что эра обычных больших СУБД общего назначения прошла (http://www.databasecolumn.com/2007/09/one-size-fits-all.html) и требуется совершенно новые подходы для создания современной БД, которая с самого начала будет ориентирована на распределенность, параллельное исполнение запросов, компрессию, ориентацию на хранение по атрибутам, высокую доступность, линейное масштабирование с использование кластеров независимых серверов.
Сложившаяся ситуация в больших научных проектах была оценена ведущими учеными из разных наук,представителями коммерческих компаний и разработчиками в области СУБД (систем управления баз данных) на серии конференций XLDB 2007,2008,2009 гг, в результате чего возник проект SciDB под руководством профессора MIT Майка Стоунбрейкера и его коллег из крупнейших университетов США. Основная цель проекта - разработка в кратчайшие сроки СУБД для нужд больших научных и промышленных проектов, в которых требуется анализ сверхбольших объемов данных (сотни и тысячи петабайт), масштабируемая на тысячи серверов.
Система SciDB разрабатывается в первую очередь исходя из требований больших научных проектов и имеет ряд принципиальных отличий от существующих СУБД. SciDB разрабатывается как система для хранения и анализа сырых и производных научных данных. Некоторые основные функции традиционных баз данных не поддерживаются в SciDB, позволяя системе более эффективно обрабатывать аналитические запросы. Например, так как исходные данные фактически не обновляются, в SciDB не предусмотрена эффективная поддержка больших объемов транзакций, что позволяет избежать серьезных накладных расходов. Наконец, SciDB ? проект с открытым исходным кодом и бесплатной лицензией на использование, что отвечает требованиям большинства заказчиков. Открытый код позволяет экономить средства заказчиков на масштабные внедрения системы, а открытый процесс разработки обеспечивает высокое качество технических решений. Кроме того, открытость СУБД обеспечивает технологическую независимость и возможность обмена данными между разными научными коллективами.
Кроме привычных функций систем управления базами данных, в SciDB присутствуют новые механизмы работы с данными, специально разработанные для анализа научных данных. Модель данных SciDB представляет из себя многомерные вложенные массивы, таким образом ученым не надо моделировать свои данные как таблицы записей, что в свою очередь ведет к более простой формулировке аналитических запросов и на порядки увеличивает производительность системы. Так как в SciDB будут хранится данные полученные с приборов, SciDB поддерживает погрешность измерений на уровне модели данных и языка запросов. Наконец, SciDB изначально разрабатывается для работы на большом спектре вычислительных систем, от переносного ПК до больших кластеров и суперкомпьютеров. Таким образом, ученые смогут работать с данными в одной среде, например отлаживая аналитические алгоритмы на персональных компьютерах используя небольшую выборку данных, а отлаженные запросы без изменений запускать на высоко-производительных кластерах. Также, SciDB интегрируется с популярными вычислительными пакетами программного обеспечения, такими как R, Matlab и другие, что позволит ученым использовать уже готовые алгоритмы обработки данных при переходе на SciDB.
Как упоминалось раньше, из-за недостатков существующих СУБД, большинство научных проектов, в которых встает задача анализа больших объемов данных, осуществляют обработку и анализ исходных данных вне системы управления базами данных. SciDB решает эту проблему, обеспечивая эффективное и удобное хранилище исходных данных и широкий набор инструментов для обработки и анализа данных. Версионное хранилище и учет всех преобразований данных позволяет пользователям SciDB получить точную информацию о версиях данных и о всех вычислениях, произведенных над исходными данными. Это позволяет эффективно устранять ошибки в алгоритмах переработки данных, отслеживать процесс переработки исходных данных при получении подозрительных результатов, и в точности повторять вычисления над исходными данными. При этом SciDB работает без каких-либо ограничений, как на суперкомпьютерном кластере, так и на персональном компьютере, что позволит ученым работать в одной и той же среде со своими данными. После переработки исходных данных, SciDB позволяет делиться полученными результатами, осуществлять выборки и выполнять аналитические запросы широкому кругу коллег, при этом соблюдая произвольный политику доступа как к данным, так и полученным результатам.
SciDB разрабатывается в тесном сотрудничестве с ведущими научными проектами ? потенциальными заказчиками системы. В научный совет SciDB входят ученые от различных направлений науки, включая: астрономию, нанотехнологии, генетику, сейсмологию, ядерную физику, метеорологию, и др. При этом, два проекта, LSST (Large Synaptic Survey Telescope) и российский космический проект ЛИРА (многоцветный фотометрический обзор всего неба до 16-17 звездной величины), предоставили детальные требования для использования SciDB в своих системах и часть исходных данных. Следовательно, система SciDB разрабатывается прямо под требования заказчиков и проходит апробирование на реальных задачах уже в процессе разработки.
КЭ "Лира" - это первый российский высокоточный многоцветный фотометрический обзор звезд всего неба до 16-17 звездной величины, над которым работают ГАИШ-МГУ (Государственный Астрономический институт им. П.К. Штернберга, Московский Государственный Университет им. М.В.Ломоносова) и ОАО РКК "Энергия" контракт No.351-8623/07 от 05.06.2007 г.. В обзор войдут около 400 млн. звезд. Уникальная методика наблюдений позволит получить точность измерения блеска для звезд предельной величины около 1%, а для ярких звезд (ярче 12 зв. величины) - 0.1%. Измерения будут вестись в 10 спектральных полосах от 0.2 до 1.0 мкм (т.е. в оптическом и близком УФ и ИК диапазонах) с борта Российского сегмента МКС. Ожидаемый старт проекта - 2013 год. На протяжении 5 лет ожидается получить около 400 Тб данных, для хранения и обработки которых потребуется масштабируемое распределенное хранилище и мощный вычислительный кластер для получения научных данных их наблюдений и решения задач поиска закономерностей (data mining).
Российские разработчики (НИИСИ РАН) приняли участие уже на самом раннем этапе работы над SciDB и заняли лидирующие позиции среди сновных разработчиков.
В дальнейшем к команде присоединились ведущие российские разработчики (ГАИШ МГУ) крупнейшей СУБД PostgreSQL, имеющие опыт не только в разработке СУБД, но и участия в крупных научных проектах и работе с очень большими базами данных. ГАИШ МГУ в рамках подготовки КЭ "Лира" работает над списком научных задач, выработкой требований, а также располагает серьезной инфраструктурой, необходимой для разработки и тестирования СУБД.
Уникальность проекта "Лира":
В результате выполнения проекта будут получены важнейшие научные результаты: