Многомерный OLAP (MOLAP)

Хранилища данных и OLAP

OLAP-система состоит из:

· Источника данных (сервер, поставляющий данные; хранилище БД, таблицы)

· OLAP-сервера (подготавливает данные)

· OLAP-клиенты (пользовательский интерфейс)

Сервер может иметь архитектуру:

· MOLAP (Multidimensional OLAP) - и детальные данные, и агрегаты хранятся в многомерной БД. В этом случае получается наибольшая избыточность, так как многомерные данные полностью содержат реляционные.

· ROLAP (Relational OLAP) - детальные данные остаются там, где они "жили" изначально - в реляционной БД; агрегаты хранятся в той же БД в специально созданных служебных таблицах.

· HOLAP (Hybrid OLAP) - детальные данные остаются на месте (в реляционной БД), а агрегаты хранятся в многомерной БД.

Данные организованны в виде упорядоченных многомерных массивов (кубов).

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

Например, для ответа на вопрос: «Какие два варианта скидок наиболее эффективны в западном регионе в летний период при продаже «Жигулей» на основе данных за последние 10 лет», в БД должны быть данные об объеме продаж по 4 измерениям:

  1. Год/Квартал/Месяц/Неделя/День/Счет
  2. Страна/Регион/Филиал/Менеджер
  3. Фирма-производитель/Завод-изготовитель/Модель-автомобиль
  4. Тип скидки

Выберем уровень детализации и агрегации:

  1. День (365х10=3650 значений)
  2. Менеджер (300 значений)
  3. Модель (100 значений)
  4. Тип скидки (4 значения)

Получим куб, состоящий из 438000000 ячеек. В основе используемого в МСУБД способа хранения лежит предположение, что «пустые» не хранятся. Значения показателей хранится в виде множества логически упорядоченных блоков (массивов), имеющих фиксированную длину. Блок – минимальная индексированная единица. Блоки с полностью неопределенными значениями не хранятся. Реальные значения (на сегодняшний день) могут составлять приблизительно 0,25% всех ячеек (365х30х10х1).

Подход к агрегации влияет и на размер БД и на время выполнения запросов. Их значения должны быть оптимальными.

Структура данных для этого уровня детализации (агрегации).

Измерения: DAY – день, MANAGER – менеджер, MODEL_CAR – модель, FIRMA_CAR – фирма-производитель, DEPARTMENT – подразделение (филиал), REGION –регион, MONTH – месяц, YEAR – год, TIP_DISCOUNT – тип скидки.

Показатели (меры): TOTAL_COST – объем продаж, INT_COST – себестоимость проданного авто, QOANTITY – количество проданного авто, PROFIT – доход, WORK_TIME – количество рабочих часов.

Достоинства МСУБД:

· точно моделируют бизнес-данные

· быстрый доступ без SQL-запросов (на 1,2 порядок)

· содержат заранее рассчитанные сводные данные

Ограничения:

· не позволяют работать с большими БД (только десятки Гб)

· неэффективно используют внешнюю память, так как данные хранятся блоками в упорядоченном виде, и непосредственные значения не всегда удаляются полностью

· не поддерживают репликацию данных

Условия применения:

· небольшой объем данных (<нескольких Гб)

· набор измерений стабилен

· время ответа системы на запрос является критическим параметром

· требуется использовать сложные строенные функции над ячейками гиперкуба


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: