Научная статья на тему 'Формальное представление структуры систем аналитической обработки данных, основанных на OLAP-технологии'

Формальное представление структуры систем аналитической обработки данных, основанных на OLAP-технологии Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
563
143
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
OLAP-СИСТЕМЫ / МАТЕМАТИЧЕСКАЯ МОДЕЛЬ МНОГОМЕРНОГО КУБА / АНОМАЛИИ В ИЕРАРХИЯХ / OLAP SYSTEMS / MATHEMATICAL MODEL OF MULTIDIMENSIONAL CUBE / HIERARCHY ANOMALIES

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Семченков Сергей Юрьевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

FORMALIZED STRUCTURE OF ANALYTICAL DATA PROCESSING SYSTEMS BASED ON OLAP TECHNOLOGY

A mathematical model is proposed of analytical data processing systems built on the basis of the multidimensional cube concept. Conditions for correct aggregation of indicators are formulated. Techniques to eliminate hierarchy anomalies are considered.

Текст научной работы на тему «Формальное представление структуры систем аналитической обработки данных, основанных на OLAP-технологии»

Информационные технологии Вестник Нижегородского университета им. Н.И. Лобачевского, 2010, №6, с. 201-207

УДК 001.57:004.658.2

ФОРМАЛЬНОЕ ПРЕДСТАВЛЕНИЕ СТРУКТУРЫ СИСТЕМ АНАЛИТИЧЕСКОЙ ОБРАБОТКИ ДАННЫХ, ОСНОВАННЫХ НА СЬАГ-ТЕХНОЛОГИИ

© 2010 г. С.Ю. Семченков

Рязанский государственный радиотехнический университет amfibius@mail.ru

Поступила в редакцию 12.04.2010

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

Ключевые слова: OLAP-системы, математическая Введение

OLAP (On-Line Analytical Processing - интерактивная аналитическая обработка данных) [1,

2] - один из способов получения и анализа данных. Суть этой технологии заключается в том, что информация, собранная для автоматизированной обработки, представляется в виде многомерного куба с возможностью произвольного манипулирования ею.

OLAP-системы являются эффективным средством для анализа и представления данных, полученных из хранилищ данных [3]. Хранилище данных (ХД) - это база данных, обладающая следующими свойствами:

1) ХД содержит ретроспективные данные.

2) ХД содержит обобщенные данные различной степени агрегации.

3) ХД содержит в явном виде информационные поля, представленные в форме измерений многомерного куба, для обеспечения многомерности представления данных.

4) Хранилища оптимизированы для выполнения запросов, содержащих объединение таблиц и агрегирование, выполняемых на больших объемах данных.

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

Основными понятиями многомерной модели данных являются многомерный куб (гиперкуб), измерение, уровень измерения, показатель [4]. Особенностью измерений является их иерархическая структура, которая используется для агрегации и детализации значений показателей.

модель многомерного куба, аномалии в иерархиях.

В то же время существующие математические модели многомерных систем обладают следующими недостатками, касающимися формальной структуры этих моделей.

1) Моделирование запросов к многомерной БД с помощью преобразования их в эквивалентные реляционные выражения или логические формулы делает невозможным выполнение произвольной последовательности операций.

2) Множественное наследование в иерархиях затрудняет реорганизацию иерархической структуры, так как одна и та же вершина может принадлежать различным путям агрегации, имеющим различные агрегирующие функции.

3) В процессе эволюции многомерной базы данных возникают семантические конфликты вследствие различных отношений «родитель -потомок» для нескольких вершин, являющихся родительскими для одного и того же потомка.

4) Структура измерения допускает разбиение всего множества его значений на пересекающиеся подмножества, что может привести к некорректному агрегированию.

Формальное описание гиперкуба OLAP-систем

Для описания многомерной модели, устраняющей указанные недостатки, можно предложить следующий формализм, основанный на теории бинарных отношений [5].

Пусть 0 - конечное множество всех измерений многомерного пространства для конкретной предметной области, Т - множество всех уровней, соответствующих измерениям множества 0, V - множество всех значений, соответствующих измерениям множества 0, У - мно-

жество возможных значений всех ячеек многомерного куба. Гиперкуб - это многомерная структура, состоящая из множества ячеек и хранящая взаимосвязанные данные, описывающие предметную область. Множество-носитель всех гиперкубов Л представим в виде декартова произведения множеств: Л = 0xТxVxY.

Множество 0 состоит из следующих элементов: 0 = {^1, Б2, ... Д, ... -0?}, где Д- - г-е измерение, q - количество измерений. Измерение - это множество объектов одного или нескольких типов, организованных в виде иерархической структуры. Эти объекты называются значениями измерения. Графически иерархическая структура может быть представлена в виде дерева. Под уровнем измерения будем понимать множество вершин иерархической структуры, имеющих одинаковый ранг. Обозначим через

ВЦ к-й уровень г-го измерения. Множество Т можно представить в виде объединения Т = иТ2 и...иТ?, где

1 2

^ = {-01;1, ,■■■} - множество уровней 1-го

измерения,

1 2

^2 = - множество уровней 2-го

измерения,

значение г-го измерения, т - количество элементов измерения Di. Тогда существует бинарное отношение Ту с Пр(13)(Л). Первый аргумент этого отношения - уровень ВЦ измерения Д;, второй аргумент - значение измерения. Сечение бинарного отношения ту посредством уровня

ВЦ состоит из множества значений, принадлежащих уровню ВЦ , то есть

СеЧ DLk (rv ) = (vi є V

(DL,vj ) є rv л DL = DLL ).

Вершины измерения могут иметь предков и потомков. Пусть вершина v принадлежит

k

D,

множество уровней

^ = {Ы}9, В^-

д-го измерения.

Wj(г = 1 ...д) - конечные множества, которые могут иметь различное количество элементов. Множества ^^^ ,•■•, должны быть

упорядоченными, то есть Р , (^2, р ,

, р , где Р - отношение линейного порядка, отражающее взаимосвязь между уровнями с агрегированными и детализированными значениями. Так как каждый уровень измерения может принадлежать только одному измерению, то существует бинарное отношение Т/ с с Пр(12)(Л). Первый аргумент этого отношения

- измерение Д;, второй аргумент - уровень

ВЦ , соответствующий измерению Д;. Сечение бинарного отношения Т/ посредством измерения Di состоит из множества уровней измерений, принадлежащих измерению Д;, то есть

СечА (/) = (Ш* 6 т|(ДШ*) 6 / л Ш = Д ).

Для каждого уровня измерения существует множество принадлежащих ему значений. Пусть V; - множество значений всех элементов

измерения Д;: V = {V1,V2,...,V'” }, где у/- у'-е

конкретному уровню DI;- измерения тогда существуют тернарные отношения га с Пp3(Л)xПp(2J3)(Л) (отношение «предок») и rd с ^^Л^^^)^) (отношение «потомки»). Первый и третий аргументы тернарных отношений ra и rd - значение измерения, второй аргумент - уровень измерения. Сечение тернарного отношения ra посредством значения измерения v и уровня DIk состоит из множества вершин, являющихся родительскими для вершины v, то есть

Ce4(v/,DI*) (ra ) = (uj є Vi (v’DL’Ui ) є

є ra л v = vj л DL = DLl ).

Сечение тернарного отношения rd посредством значения измерения v и уровня DLj состоит из множества вершин, являющихся потомками для вершины v, то есть

Сеч

(v/,DlI) (rd ) = (ui є¥І

(v,DL,u{ ) є

е га л V = V/ л БЬ = ).

Основой многомерной модели является базовый куб, содержащий наиболее детализированные данные, соответствующие терминальным вершинам иерархии каждого измерения. Базовый куб Сы может быть представлен системой кортежей (ръ,Ьъ,, где:

1) ръ ={ръ 1,БЪ2рЪд,М'ъ) - кортеж измерений базового куба, Dы с Пр1(Л), г = = 1...д, Му е Пр!(Л) . Му - измерение, представляющее показатель куба. Показатель куба -типизированная величина, являющаяся предметом анализа (например, количество проданного товара). Один базовый куб может содержать несколько показателей, организованных в иерархическую структуру. В этом случае этим показателям будут соответствовать несколько измерений показателей. Рассмотрим случай с

одним показателем, учитывая при этом, что все рассуждения могут быть обобщены на случай куба с произвольным числом показателей.

2) 1Ъ =(В1ЪЬ В1Ъ2 ■>■■■■> В1Ъд ■ М1ъ) - коРтеж уровней измерений куба, с Пр2(Л), і = 1...д, ЫЬу є Пр2 (Л). ЫЬу - это уровень измерения показателя куба. Необходимо, чтобы уровни всех измерений были представлены наиболее детализированными данными соответствующих измерений.

3) Яы - это множество значений ячеек куба, то есть множество кортежей вида х =

= (^х1,х2,...,хд,шх^, где х, с Прз(Л), і = 1...д,

тх є Пр4 (л).

Текущее состояние операций над базовым кубом отражается в многомерном кубе. Многомерный куб С может быть представлен системой (Сь,ДЬ, Я , где:

1) Сы - базовый куб.

2) Б = (Д,ДД,М') (п < д, Б с Д) -

кортеж измерений куба. М' - измерение, представляющее показатель куба.

3) Ь = (ВЦ, ПЬ2,...,ПЬп, ЫЫ)> (Ь с Прз (Л)) -

кортеж уровней измерений.

4) Я - множество значений ячеек куба в виде кортежей х = (х1зХ2хп,тх}, Я с

с Пр(з, 4)(Л).

Операции над многомерными кубами

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

- повышение уровня, применение функции, выборка, проекция и операции, основанные на базе простейших, - срез и навигация. Аргументами каждой операции являются исходный куб С и куб-шаблон С". Результатом каждой операции, применяемой к существующему кубу, является новый куб С'. В дальнейшем будем полагать, что исходный куб С представлен системой множеств (Съ, Д Ь, Я), где Сы - базовый куб,

Б= (Д,Д,..., Д,М), Ь=[рЬьЫъг-РЦ»М'),

Я - это множество значений ячеек куба, представленное в виде кортежей. Для вычисления агрегированных значений необходимо также задать агрегирующую функцию / , используемую по умолчанию. Функция / определяет способ объединения значений нескольких корте-

жей в одно значение. Куб-шаблон С представлен системой множеств (сь, Р ст, Р1?, Яст^, где

Сы - базовый куб (базовый куб для куба-шаблона и многомерного куба, к которому применяется этот шаблон, один и тот же для всех операций), Рст - множество измерений, РЬа -множество уровней измерений, Яст = 0 (для всех операций).

Операция повышение уровня С ' = ф(С, С а) заключается в том, что значения измерений, уровень которых необходимо повысить, заменяются значениями, соответствующими более высокому уровню этих измерений, значения остальных измерений не изменяются. Применение функции С ' = 0(С1, Са) - получение агрегированных значений на основе детализированных с помощью функции агрегации. Для выполнения этой операции (а также операций срез и навигация) необходимо задать агрегирующую функцию /ст, которая будет перекрывать агрегирующую функцию / многомерного куба С. Выборка С ' = р(С, С а ) - выделение подмножества из исходного многомерного куба.

Проекция С ' = л(С, Са ) - удаление измерения из многомерного куба при сохранении этого измерения в базовом кубе. Пусть куб-шаблон

представлен следующим образом: Ра = },

где й - это измерение многомерного куба С, на которое осуществляется проекция. Р1? = {(11} , где й1 - текущий уровень измерения й, на которое осуществляется проекция. Тогда операция проекции может быть задана следующим образом:

С = Сь,

В' = В \ Р°,

Ь ' = Ь \ РЬа,

Я' = {х е Я13/ е Я: УВг' Ф й{/} = Пр,(а{=х(Я)}.

Срез С' = х(С, С а ) = 0(п(С, С а1), С а2 ) - это удаление выбранного измерения с последующей агрегацией измерений с использованием выбранной пользователем функции агрегации. Пусть куб-шаблон представлен следующим образом: Р° = ((!}, где й - это измерение, по которому производится срез. Р1? = {!/}, где й1 -

текущий уровень измерения й, /ст - применяемая функция агрегации, задаваемая пользователем. Тогда операцию срез можно представить через операции применение функции и проекция следующим образом:

С' = х(С, С ст ) = 0(п(С, С ст1), С ст2 ),

где

рст1 = рст = (а}, РЬ° = 0,

Рст2 = 0, РЬа2 = 0, /°2 = ^.

Навигация С' = Г|(С,Са) = 0(ф(С,Са1),Са2) -изменение уровня выбранного измерения с последующей генерацией нового куба с использованием операции «применение функции». Пусть куб-шаблон представлен следующим образом. Ра = (ё}, где й - это измерение, по которому мы осуществляем навигацию, Р1? = {!/}, где й1 - заданный уровень навигации, /ст - применяемая функция агрегации, задаваемая пользователем. Функция /ст перекрывает функцию / определяющую метод агрегации по умолчанию. Предположим также, что й - г-е измерение множества измерений Д многомерного куба С, т.е. й = Д;. Навигацию можно представить через уже рассмотренные операции применение функции и повышение уровня:

С' = п(С, С ° ) = е(ф(С, Са1), С а2 ),

где

рст1 = р}, РХа1 = РЬ° = {^/},

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Рст2 = 0, РЬа2 = 0, /°2 = /".

Таким образом, алгебраическим описанием многомерного куба ОЬЛР-систем и операций над многомерными кубами является алгебраическая

система ({л},{ф,0, П р, п, Х},{г/, Г > га >^ 0 .

Регулярная структура систем аналитической обработки данных

Агрегирование данных является механизмом построения многомерного куба для эффективного решения заданного класса задач. Опишем регулярные структуры, которые позволят ис-

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

Для получения корректных результатов при агрегировании недостаточно введения понятия базового куба и определения многомерного куба через базовый. Необходимо, чтобы иерархическая структура каждого измерения многомерного куба удовлетворяла следующим требованиям:

1) все измерения многомерного куба должны быть попарно независимы, а показатель должен полностью определяться набором значений терминальных уровней иерархий измерений;

2) запрещается неполнота иерархий всех измерений;

3) в многомерном кубе не должно быть несбалансированных иерархий;

4) в многомерном кубе должно отсутствовать множественное наследование в иерархии измерения.

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

Запрет неполноты иерархии, несбалансированности иерархии и множественного наследования рассмотрим на примере (рис. 1).

В этом примере показана ситуация, когда в иерархии некоторого измерения существуют вершины, не связанные ни с одной родитель-

Рис. 1. Пример неполноты и множественного наследования в иерархии измерения

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

Второй случай приводит к множественному наследованию. Однако и первый и второй случаи противоречат концепции корректного суммирования [8, 9, 10]. Согласно этой концепции, для выполнения корректного суммирования иерархии должны быть строгими и сбалансированными.

Вследствие сказанного для устранения неполноты иерархии введем дополнительную вершину С, которая будет являться родительской для Г. Для устранения несбалансированности иерархии искусственно введем потомка вершины Г - вершину О. Стоит отметить, что при появлении реальных потомков вершины Б вершина О должна быть удалена из иерархии измерения. Результат изменений показан на рис. 2.

Аномалия множественного наследования может быть вызвана как концептуальными связями между родительскими вершинами и вершиной, располагающейся на более нижнем уровне иерархии, так и наличием альтернативных классификаций одного и того же понятия. Предложим способ устранения аномалии множественного наследования (рис. 3).

На верхнем уровне иерархии вводится дополнительная вершина Д, которая будет родительской для Е. Вместе с тем необходимо показать связь между вершинами А, В и Е. Это можно сделать с помощью дополнительного трех-

мерного куба. Будем называть такой гиперкуб присоединенным. Идея присоединенного куба состоит в том, что ячейки этого куба содержат ссылки на значения измерения, в котором присутствует аномалия. Присоединенный куб состоит из трех измерений: разделяемое измерение, классификационное измерение и ссылочное измерение. Разделяемое измерение является общим для присоединенного куба и того многомерного куба, к которому относится данный многомерный куб. Классификационное измерение присоединенного куба позволяет классифицировать или ранжировать свойства сущностей, относящихся к разделяемому измерению. Ссылочное измерение определяет одно или несколько измерений, значения индексов которых будут находиться в ячейках присоединенного куба.

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

В примере на рисунке 3 одним из измерений присоединенного куба будет исходное измерение Д4. В ячейках присоединенного многомерного куба будут содержаться ссылки в виде индексов на потомков Е измерения которые связаны с другими значениями, содержащимися в измерении присоединенного куба.

Рис. 2. Разрешение аномалии неполноты и несбалансированности иерархии измерения

А

В

В

С

—Л

41

—Л

42

— Л,

0.1.4 Г"

21

— Е

—А

22

Л

13

2.3.9

В

11

— Е

2.3.10

В

12

1-Л

44

В

13

3.4.12

3.4.13 -

нП_______I

Измерение^

А

А2 —А,

21

—А,

22

В

- в

—в —в

'21

'22

1.2

1.2

1.2.(

1.2.(

1.2.8

1.2.7

Ссылки на индексы значений измерения

1.2.1

Присоединенный куб

Рис. 3. Разрешение аномалии множественного наследования в иерархии измерения

Н

2

Заключение

Разработанный подход на основе выделения наиболее детализированных данных обеспечивает следующие преимущества. 1. Произвольная последовательность выполнения операций без необходимости ресурсоемкой операции объединения с другими кубами. Соответствие значений между различными уровнями измерений гарантирует правильность результатов при выполнении запросов. 2. Сохранение результатов операции навигации для последующих навигаций. Это позволяет организовать кэш, в котором хранятся уже вычисленные кубы, и тем самым ускорить выполнение последующих запросов.

Предложенная регулярная структура систем аналитической обработки данных позволяет

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

Разработанные математические формализмы легли в основу программно реализованной системы CuDBIS v. 1.02 [11]. Эта система позволяет выполнять основные операции администрирования над многомерными кубами и иерархиями измерений, а также служит для оптимизации структуры многомерного куба.

Список литературы

1. Codd E.F. Providing OLAP (on-line analytical processing) to user-analysts: An IT mandate. E.F. Codd and Associates, 1993.

2. Shoshani A. OLAP and statistical databases: similarities and differences // 16th ACM SIGACT SIG-MOD SYGART Symp. on Principles of Database Systems, 1997. P. 185-196.

3. Inmon W.H. Building the Data Warehouse. Wiley, 2005. 543 p.

4. Laker K. OLAP Workshop 1: Basic OLAP Concepts [Электронный ресурс]. URL: http:// oracleo-lap.blogspot.com/2007/12/olap-workshop-1-basic-olap-concepts.html (дата обращения: 15.03.2009).

5. Woronowicz E. Relations and their basic properties // Journal of Formalized Mathematics. 1989. V. 1.

URL: http://mizar.org/JFM/Vol1/relat_1.html (дата обращения: 16.03.2009).

6. Lehner W., Albrecht J., Wedekind H. Normal forms for multidimensional databases // Proceedings of the 10th International Conference on Scientific and Statistical Data Management (SSDBM’98), 1998. P. 63-72.

7. Lechtenborger J., Vossen G. Multidimensional normal forms for data warehouse design // Information Systems. 2003. V. 28. № 5. P. 415-434.

8. Rafanelli M. and Shoshani A. STORM: A statistical object representation model // Proceedings of 5th International Conference on Statistical and Scientific Database Management, 1990. P. 14-29.

9. Lenz H.-J., Shoshani A. Summarizability in OLAP and statistical databases // Proceedings of 9th International Conference on Scientific and Statistical Database Management, 1997. P. 132-143.

10. Hurtado C.A., Mendelzon A.O. Reasoning about summarizability in heterogeneous multidimensional schemas // Proceedings of the 8th International Conference on Database Theory, 2001. P. 375-389.

11. Семченков С.Ю. CuDBIS v. 1.02. Свидетельство о регистрации программы для ЭВМ № 2009613357 от 26 июня 2009 г. (ФГУ ФИПС).

FORMALIZED STRUCTURE OF ANALYTICAL DATA PROCESSING SYSTEMS BASED

ON OLAP TECHNOLOGY

S.Yu. Semchenkov

A mathematical model is proposed of analytical data processing systems built on the basis of the multidimensional cube concept. Conditions for correct aggregation of indicators are formulated. Techniques to eliminate hierarchy anomalies are considered.

Keywords: OLAP systems, mathematical model of multidimensional cube, hierarchy anomalies.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.