OLAP-куб

Поделись знанием:
Перейти к: навигация, поиск

OLAP-куб — (OnLine 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.

Напишите отзыв о статье "OLAP-куб"



Примечания

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

Литература

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

См. также


К:Википедия:Статьи без источников (тип: не указан)

Отрывок, характеризующий OLAP-куб

– Да, я очень рад Николушке. Он здоров?

Когда привели к князю Андрею Николушку, испуганно смотревшего на отца, но не плакавшего, потому что никто не плакал, князь Андрей поцеловал его и, очевидно, не знал, что говорить с ним.
Когда Николушку уводили, княжна Марья подошла еще раз к брату, поцеловала его и, не в силах удерживаться более, заплакала.
Он пристально посмотрел на нее.
– Ты об Николушке? – сказал он.
Княжна Марья, плача, утвердительно нагнула голову.
– Мари, ты знаешь Еван… – но он вдруг замолчал.
– Что ты говоришь?
– Ничего. Не надо плакать здесь, – сказал он, тем же холодным взглядом глядя на нее.

Когда княжна Марья заплакала, он понял, что она плакала о том, что Николушка останется без отца. С большим усилием над собой он постарался вернуться назад в жизнь и перенесся на их точку зрения.
«Да, им это должно казаться жалко! – подумал он. – А как это просто!»
«Птицы небесные ни сеют, ни жнут, но отец ваш питает их», – сказал он сам себе и хотел то же сказать княжне. «Но нет, они поймут это по своему, они не поймут! Этого они не могут понимать, что все эти чувства, которыми они дорожат, все наши, все эти мысли, которые кажутся нам так важны, что они – не нужны. Мы не можем понимать друг друга». – И он замолчал.

Маленькому сыну князя Андрея было семь лет. Он едва умел читать, он ничего не знал. Он многое пережил после этого дня, приобретая знания, наблюдательность, опытность; но ежели бы он владел тогда всеми этими после приобретенными способностями, он не мог бы лучше, глубже понять все значение той сцены, которую он видел между отцом, княжной Марьей и Наташей, чем он ее понял теперь. Он все понял и, не плача, вышел из комнаты, молча подошел к Наташе, вышедшей за ним, застенчиво взглянул на нее задумчивыми прекрасными глазами; приподнятая румяная верхняя губа его дрогнула, он прислонился к ней головой и заплакал.
С этого дня он избегал Десаля, избегал ласкавшую его графиню и либо сидел один, либо робко подходил к княжне Марье и к Наташе, которую он, казалось, полюбил еще больше своей тетки, и тихо и застенчиво ласкался к ним.
Княжна Марья, выйдя от князя Андрея, поняла вполне все то, что сказало ей лицо Наташи. Она не говорила больше с Наташей о надежде на спасение его жизни. Она чередовалась с нею у его дивана и не плакала больше, но беспрестанно молилась, обращаясь душою к тому вечному, непостижимому, которого присутствие так ощутительно было теперь над умиравшим человеком.


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