SciDB

Система управления сверхбольшими базами научных данных для космического эксперимента "Лира"

Актуальность и научная значимость НИР, решаемые задачи

В 2013 году планируется начало уникального российского космического эксперимента (КЭ) "Лира" для получения многополосной высокоточной фотометрии звезд всего неба, в результате которого будет проведен большой ряд однородных наблюдений более 400 миллионов звезд. Расположение телескопа в космосе позволит впервые получить ультрафиолетовые наблюдения большого количества звезд с хорошей точностью. Поглощение ультрафиолетового излучения в атмосфере не позволяет использовать наземные инструменты, а космический телескоп Хаббла обладает очень маленьким полем зрения, недостаточным для масштабного обзора.

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

Отметим общие проблемы современной науки, связанные с увеличивающимся потоком данных (сейчас это x100 терабайтов, в ближайшем будущем x10 петабайтов):

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

Эти проблемы необходимо срочно решать в ближайшее время, так как технологии производства приемных устройств (сенсоров) непрерывно улучшается, что приводит к дальнейшему росту данных, а следовательно, к усугублению описанных проблем.

Применение системы SciDB не ограничивается научными проектами. Задача анализа больших объемов данных остро стоит и перед крупными коммерческими компаниями, и некоторые компании уже проявили интерес к проекту SciDB. Компания «eBay» является одним из спонсоров проекта SciDB и планирует использовать систему для анализа навигации пользователей по веб-сайту компании. SciDB имеет особое значение для российского рынка, например, отраслевые предприятия уровня Газпрома, Ростелекома оперируют с похожими объемами данных, используя тысячи установок коммерческих и очень дорогих (x100,000 USD) СУБД, на поддержание которых тратятся значительные средства. Постепенный переход на масштабируемую и распределенную СУБД нового поколения позволит высвободить средства на развитие производства и добиться независимости от поставщиков СУБД (американские компании).

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

Специфика разработки новой СУБД состоит в тесном сотрудничестве с большими научными проектами (в США - это проект LSST, а в России - КЭ "Лира"), так как именно наука является основным заказчиком, и научные коллективы вырабатывают список требований к СУБД.

Необходимость создания такой СУБД сформулирована видным американским профессором МТИ (MIT) Майком Стоунбрейкером и поддержана практически всеми известными специалистами в области создания баз данных. Более того, в 2007-2009 гг. уже прошло три международных встречи разработчиков СУБД и представителей разных наук, из которых стало ясно, что необходима новая СУБД, ориентированная на сверхбольшие научные базы данных. Проект получил название SciDB (www.scidb.org).

Маловероятно, что Россия одна способна в краткие сроки создать такую СУБД, так как для этого требуются значительные исследования. США является ведущей страной в области разработки СУБД и обладает большим количеством исследователей и опытных разработчиков баз данных, и в принципе, способна одна справиться с задачей разработки SciDB. Однако, в связи с экономическим кризисом сложилась замечательная ситуация, когда Россия может стать равноправным партнером и даже занять лидирующие позиции в проекте создания новой СУБД. Это связано с трудностями поиска финансирования работы группы разработки в США, с моделью открытого кода СУБД, с наличием квалифицированных разработчиков в России. Фактически, работа российской команды уже началась и первые результаты уже были представлены на VLDB 2009 в Лионе. Многие важные функциональные части системы были разработаны российскими участниками. Для выполнение данного проекта планируется привлечение дополнительных российских участников как для разработки, так и для создания инфраструктуры тестирования.

Участие в столь масштабном проекте, в котором принимают участие крупнейшие специалисты в области баз данных, является очень хорошей школой для студентов, аспирантов, а реальный научный проект КЭ "Лира", который запланирован на 5 лет, даст возможность для дальнейшего роста и приложения полученных знаний.

В рамках данного НИР предлагается

  • построить математическую модель КЭ "Лира" для описания информационных потоков, составить список основных запросов к системе управления данными;
  • разработать тестовую модель наблюдений для КЭ "Лира" для генерации тестовых данных петабайтного размера;
  • разработать (совместно с командой из США) систему управления сверхбольшими научными базами данных (SciDB);
  • создать серверную инфраструктуру для тестирования (функциональное, нагрузочное, масштабированность до 1000 узлов) SciDB;
  • создать прототип хранилища данных для КЭ "Лира" на основе SciDB;

Краткий анализ исследований, новизна ...

Анализ текущего состояния

Практически во всех областях науки ученые сталкиваются с задачами хранения и анализа больших объемов данных. При этом, данные могут быть как результатами экспериментов, так и полученными при численном моделировании. Анализ терабайтов и даже петабайтов научных данных становятся повседневными задачами.

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

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

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

Новая СУБД для больших объемов научных данных

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

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

Новизна

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

  • хранение "сырых" данных, их обработка происходит в самой СУБД с помощью пользовательских процедур для обеспечения версионности и истории изменения данных (новая идея) - полноценная поддержка полного цикла работы с научными данными;
  • Модель описания научных данных - это многомерный вложенный массив (новая идея);
  • Вертикальное (поатрибутное) хранение данных для компрессии и уменьшения операций ввода-вывода;
  • Сохранность данных за счет репликации части данных на разных узлах системы;
  • Масштабируемость СУБД от ноутбука до x1000 серверов для хранения x10 петабайтов;
  • Расширяемость типов данных и запросов;
  • Отказ от поддержки транзакций. Для научных данных не нужны транзакции (WORM - Write Once Read Many), которые сильно усложняют архитектуру СУБД и вносят существенные расходы на их поддержание. ACID - традиционная архитектура, в сетевом окружении это невозможно (см. CAP теорему Брюера http://www.julianbrowne.com/article/viewer/brewers-cap-theorem и ссылку на оригинальную статью) - невозможно добиться одновременно целостности (Consistency) данных, доступности (Availability) данных и распределенности (Partitioning). В наших условиях, когда мы не можем обойтись без распределенности данных (слишком много их), надо выбирать между целостностью и доступностью. Доступность данных тоже является важным условием для науки, а требование целостности смягчается до условия 'eventual consistency' (когда-нибудь, не прямо сейчас), что вполне достаточно для научных данных в силу WORM.

Полноценная поддержка полного цикла работы с научными данными

Как упоминалось раньше, из-за недостатков существующих СУБД, большинство научных проектов, в которых встает задача анализа больших объемов данных, осуществляют обработку и анализ исходных данных вне системы управления базами данных. 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). Кроме того, планируется предоставить доступ к данным международному научному сообществу.

Уникальность проекта "Лира":

  • Единственный в мире обзор всего неба в 10 полосах от ультрафиолета до ближнего ИК-диапазона
  • Высокая фотометрическая точность наблюдений
  • Высокая однородность наблюдений

В результате выполнения проекта будут получены важнейшие научные результаты:

  • Высокоточный многоцветный каталог фотометрических стандартов для атмосферных и внеатмосферных наблюдений
  • Многоцветный каталог переменных звезд объемом больше 30 миллионов звезд
  • Построена трехмерная структура нашей Галактики (по межзвездному поглощению в ультрафиолете)
  • Получены данные о физических характеристиках повехности астероидов

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

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

Российская команда разработчиков SciDB

Российские разработчики (НИИСИ РАН) приняли участие уже на самом раннем этапе работы над SciDB и заняли лидирующие позиции среди сновных разработчиков.

В дальнейшем к команде присоединились ведущие российские разработчики (ГАИШ МГУ) крупнейшей СУБД PostgreSQL, имеющие опыт не только в разработке СУБД, но и участия в крупных научных проектах и работе с очень большими базами данных. ГАИШ МГУ в рамках подготовки КЭ "Лира" работает над списком научных задач, выработкой требований, а также располагает серьезной инфраструктурой, необходимой для разработки и тестирования СУБД.

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

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