OLAP-куб

Пример OLAP-куба

OLAP-куб — (On-Line Analytical Processing — интерактивный анализ данных) многомерный массив данных, как правило, разреженный и долговременно хранимый, используемый в OLAP. Может быть реализован на основе универсальных реляционных СУБД или специализированным программным обеспечением.

Индексам массива соответствуют измерения (dimensions) или оси куба, а значениям элементов массива — меры (measures) куба.

w : (x,y,z) → wxyz,

где x, y, z — измерения, w — мера.

В отличие от обычного массива в языке программирования, доступ к элементам OLAP-куба может осуществляться как по полному набору индексов-измерений, так и по их подмножеству. Тогда результатом будет не один элемент, а их множество, являющееся аргументом для агрегирующей функции[1]:

W : (x,y) → W = {wz1, wz2, …, wzn}

Также известно описание OLAP-куба с использованием терминологии реляционной алгебры, как проекции отношений.

Имея отношение порядка N, рассмотрим проекцию с измерениями X, Y, и Z как ключом и W как разностным атрибутом. Это характеризуется функцией:

W : (X,Y,Z) → W,

атрибутам (X, Y, и Z) которой соответствуют оси куба, а значения W для каждых возможных троек ((X, Y, Z)) отвечают данным каждой ячейки куба.

Поскольку двухмерные устройства вывода не могут адресовать три измерения, более практичным является проецирование «срезов» куба (проецирование употребляется в смысле уменьшения количества измерений матрицы — куба), возможно в виде

W : (X,Y) → W

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

Причиной для представления данных в виде OLAP является широкое распространение парадигмы отчет с закладками (или Сводная таблица). Пользователи хотят видеть данные, представленные в виде страниц, на которых (почти как в табличном редакторе) значениями X наполняется верхняя строка; значениями Y — крайний левый столбец; а значениями W : (X, Y) -> W наполняется остальная часть таблицы. Также можно использовать DML из традиционного SQL для отображения троек (X, Y, W), хотя это не настолько удобный формат, как отчёт с закладками, так как в представлении DML необходим линейный поиск по списку требуемой пары (X, Y), а для страничного нужен поиск пересечения столбца X со строкой Y

Язык MDX (Multidimensional Expressions — выражения со многими измерениями) был разработан как лёгкое средство для представления OLAP. Возможно преобразовать некоторые запросы в традиционный SQL, хотя часто требуется использование больших запросов с обилием сложных конструкций. Большинство производителей OLAP систем поддерживают MDX.

Примечания

  1. Тарасов С. В. СУБД для программиста. Базы данных изнутри. — М.: СОЛОН-Пресс, 2015. — 320 с. — ISBN 978-2-7466-7383-0.

Литература

  • Тарасов С.В. СУБД для программиста. Базы данных изнутри. — М.: СОЛОН-Пресс, 2015. — 320 с. — ISBN 978-2-7466-7383-0.

См. также

Перейти к шаблону «Хранилище данных»
Создание хранилища данных
Понятия
Варианты
Элементы
Факты
Измерение
Заполнение
  • ETL
  • Извлечение данных[en]
  • Трансформация данных[en]
Использование хранилища данных
Понятия
Языки
  • Data Mining Extensions[en]
  • MDX
  • XMLA[en]
Инструменты
Связанные темы
Люди
  • Билл Инмон[en]
  • Ральф Кимболл[en]
Продукты
Сравнение OLAP-серверов
Категория