Найти в Дзене

Многомерная модель

Многомерный подход к представлению данных в базе появился практи­чески одновременно с реляционным, но реально работающих многомерных СУБД (МСУБД) до настоящего времени было очень мало. С середины 90-х годов интерес к ним стал приобретать массовый характер. Толчком послужила в 1993 году программная статья одного из основопо­ложников реляционного подхода Э. Кодда. В ней сформулированы 12 ос­новных требований к системам класса OLAP (OnLine Analytical Processing— оперативная аналитическая обработка), важнейшие из которых связаны с возможностями концептуального представления и обработки многомер­ных данных. Многомерные системы позволяют оперативно обрабатывать информацию для проведения анализа и принятия решения. В развитии концепций ИС можно выделить следующие два направления: • системы оперативной (транзакционной) обработки; • системы аналитической обработки (системы поддержки принятия решений). Реляционные СУБД предназначались для информационных систем оперативной обработки информации и

Многомерный подход к представлению данных в базе появился практи­чески одновременно с реляционным, но реально работающих многомерных СУБД (МСУБД) до настоящего времени было очень мало. С середины 90-х годов интерес к ним стал приобретать массовый характер.

Толчком послужила в 1993 году программная статья одного из основопо­ложников реляционного подхода Э. Кодда. В ней сформулированы 12 ос­новных требований к системам класса OLAP (OnLine Analytical Processing— оперативная аналитическая обработка), важнейшие из которых связаны с возможностями концептуального представления и обработки многомер­ных данных. Многомерные системы позволяют оперативно обрабатывать информацию для проведения анализа и принятия решения.

В развитии концепций ИС можно выделить следующие два направления:

• системы оперативной (транзакционной) обработки;

• системы аналитической обработки (системы поддержки принятия решений).

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

Многомерные СУБД являются узкоспециализированными СУБД, пред­назначенными для интерактивной аналитической обработки информации. Раскроем основные понятия, используемые в этих СУБД: агрегируемость, историчность и прогнозируемость данных.

Агрегируемость данных означает рассмотрение информации на различ­ных уровнях ее обобщения. В информационных системах степень деталь­ности представления информации для пользователя зависит от его уровня: аналитик, пользователь-оператор, управляющий, руководитель.

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

Статичность данных позволяет использовать при их обработке специа­лизированные методы загрузки, хранения, индексации и выборки.

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

Прогнозируемость данных подразумевает задание функций прогнозиро­вания и применение их к различным временным интервалам.

Многомерность модели данных означает не многомерность визуализации цифровых данных, а многомерное логическое представление структуры информации при описании и в операциях манипулирования данными.

По сравнению с реляционной моделью многомерная организация дан­ных обладает более высокой наглядностью и информативностью. Для ил­люстрации на рис. 2.8 приведены реляционное (а) и многомерное (б) пред­ставления одних и тех же данных об объемах продаж автомобилей.

Рис. 2.8. Реляционное и многомерное представление данных
Рис. 2.8. Реляционное и многомерное представление данных

Если речь идет о многомерной модели с мерностью больше двух, то не обя­зательно визуально информация представляется в виде многомерных объек­тов (трех-, четырех- и более мерных гиперкубов). Пользователю и в этих слу­чаях более удобно иметь дело с двухмерными таблицами или графиками. Данные при этом представляют собой «вырезки» (точнее, «срезы») из мно­гомерного хранилища данных, выполненные с разной степенью детализации.

Рассмотрим основные понятия многомерных моделей данных, к числу которых относятся измерение и ячейка.

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

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

В примере на рис. 2.8б каждое значение ячейки Объем продаж однознач­но определяется комбинацией временного измерения (Месяц продаж) и модели автомобиля. На практике зачастую требуется большее количество измерений. Пример трехмерной модели данных приведен на рис. 2.9.

Рис. 2.9. Пример трехмерной модели
Рис. 2.9. Пример трехмерной модели

В существующих МСУБД используются два основных варианта (схе­мы) организации данных: гиперкубическая и поликубическая.

В поликубической схеме предполагается, что в БД может быть определено несколько гиперкубов с различной размерностью и с различными измере­ниями в качестве граней. Примером системы, поддерживающей поликуби­ческий вариант БД, является сервер Oracle Express Server.

В случае гиперкубической схемы предполагается, что все показатели опре­деляются одним и тем же набором измерений. Это означает, что при наличии нескольких гиперкубов БД все они имеют одинаковую размерность и совпа­дающие измерения. Очевидно, в некоторых случаях информация в БД мо­жет быть избыточной (если требовать обязательное заполнение ячеек).

В случае многомерной модели данных применяется ряд специальных операций, к которым относятся: формирование «среза», «вращение», агре­гация и детализация.

«Срез» (Slice) представляет собой подмножество гиперкуба, полученное в результате фиксации одного или нескольких измерений. Формирование «срезов» выполняется для ограничения используемых пользователем значений, так как все значения гиперкуба практически никогда одновременно не исполь­зуются. Например, если ограничить значения измерения Модель автомобиля и гиперкубе (рис. 2.9) маркой «Жигули», то получится двухмерная таблица продаж этой марки автомобиля различными менеджерами по годам.

Операция «вращение» (Rotate) применяется при двухмерном представ­лении данных. Суть ее заключается в изменении порядка измерений при визуальном представлении данных. Так, «вращение» двумерной таблицы, показанной на рис. 2.8б, приведет к изменению ее вида таким образом, что по оси Xбудет марка автомобиля, а по оси Y — время.

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

Операции «агрегация» (Drill Up) и «детализация» (Drill Down) означают соответственно переход к более общему и к более детальному представле­нию информации пользователю из гиперкуба.

Для иллюстрации смысла операции «агрегация» предположим, что у нас имеется гиперкуб, в котором помимо измерений гиперкуба, приведенного на рис.. 2.9, имеются еще измерения: Подразделение, Регион, Фирма, Страна. Заме­тим, что в этом случае в гиперкубе существует иерархия (снизу вверх) отноше­ний между измерениями: Менеджер, Подразделение, Регион, Фирма, Страна.

Пусть в описанном гиперкубе определено, насколько успешно в 1995 году менеджер Петров продавал автомобили «Жигули» и «Волга». Тогда, подни­маясь на уровень выше по иерархии, с помощью операции «агрегация» мож­но выяснить, как выглядит соотношение продаж этих же моделей на уровне подразделения, где работает Петров.

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

Недостатком многомерной модели данных является ее громоздкость для простейших задач обычной оперативной обработки информации.

Примерами систем, поддерживающими многомерные модели данных, явля­ются Esshase(Arbor Software), Media Multi-matrix (Speedware), Oracle Express Sower (Oracle) и Cache (InterSystems). Некоторые программные продукты, напри­мер Media/MR (Speedware), позволяют одновременно работать с многомерными и с реляционными БД. В СУБД Cache, в которой внутренней моделью данных является многомерная модель, реализованы три способа доступа к данным: пря­мой (на уровне узлов многомерных массивов), объектный и реляционный.