Классика баз данных - статьи

       

и NoSQL СУБД. На самом


Довольно часто вертикально-ориентированные базы данных отождествляют с нереляционными и 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;

Однако, практическая реализация будет очень неэффективна.

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

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

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


Содержание  Назад  Вперед