OLAP-куб — (On-Line Analytical Processing — интерактивный анализ данных) многомерный массив данных, как правило, разреженный и долговременно хранимый, используемый в OLAP. Может быть реализован на основе универсальных реляционных СУБД или специализированным программным обеспечением.
Индексам массива соответствуют измерения (dimensions), или рёбра, куба, а значениям элементов массива — его меры (measures).
,
где , , — измерения, а — мера.
В отличие от обычного массива в языках программирования, доступ к элементам OLAP-куба может осуществляться как по полному набору индексов-измерений, так и по их подмножеству. Тогда результатом будет не один элемент, а их множество, являющееся аргументом для агрегирующей функцииТарасов С. В. СУБД для программиста. Базы данных изнутри. — М.: СОЛОН-Пресс, 2015. — 320 с. — ISBN 978-2-7466-7383-0.:
.
Также известно описание OLAP-куба с использованием терминологии реляционной алгебры, как проекции отношений. Имея отношение порядка , рассмотрим проекцию с измерениями , и как ключом и как разностным атрибутом. Это характеризуется функцией
,
атрибутам , , которой соответствуют оси куба, а значения для каждых возможных троек отвечают данным каждой ячейки куба.
Поскольку двухмерные устройства вывода не могут адресовать три измерения, более практичным является проецирование «срезов» куба (в смысле уменьшение количества измерений матрицы — куба) в виде
.
В данной проекции отсутствует первичный ключ, таким образом возможна многозначность функции. Тем не менее, срез троичного функционального представления по определённому значению имеет очень большое значение.
Причиной для представления данных в виде OLAP является широкое распространение парадигмы отчёт с закладками (она же сводная таблица). Пользователи хотят видеть данные, представленные в виде страниц, на которых (почти как в табличном редакторе) значениями наполняется верхняя строка; значениями — крайний левый столбец; а значениями наполняется остальная часть таблицы. Также можно использовать DML из традиционного SQL для отображения троек , хотя это не настолько удобный формат, как отчёт с закладками, так как в представлении DML необходим линейный поиск по списку требуемой пары , а для страничного нужен поиск пересечения столбца со строкой .
Язык MDX (Multidimensional Expressions — выражения со многими измерениями) был разработан как лёгкое средство для представления OLAP. Возможно преобразовать некоторые запросы в традиционный SQL, хотя часто требуется использование больших запросов с обилием сложных конструкций. Большинство производителей OLAP систем поддерживают MDX.
Примечания
Литература
См. также OLAP Сводная таблица
Категория:Хранилище данных Категория:OLAP