Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Разработка методов и средств анализа многомерных баз данных с неполной информацией Заботнев Максим Сергеевич

Разработка методов и средств анализа многомерных баз данных с неполной информацией
<
Разработка методов и средств анализа многомерных баз данных с неполной информацией Разработка методов и средств анализа многомерных баз данных с неполной информацией Разработка методов и средств анализа многомерных баз данных с неполной информацией Разработка методов и средств анализа многомерных баз данных с неполной информацией Разработка методов и средств анализа многомерных баз данных с неполной информацией Разработка методов и средств анализа многомерных баз данных с неполной информацией Разработка методов и средств анализа многомерных баз данных с неполной информацией Разработка методов и средств анализа многомерных баз данных с неполной информацией Разработка методов и средств анализа многомерных баз данных с неполной информацией
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

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

Заботнев Максим Сергеевич. Разработка методов и средств анализа многомерных баз данных с неполной информацией : диссертация ... кандидата технических наук : 05.13.11.- Москва, 2006.- 140 с.: ил. РГБ ОД, 61 06-5/2885

Содержание к диссертации

Введение

Глава 1. Современные технологии обработки данных 11

1.1. Развитое технологий баз данных 11

1.2. Аналитические системы 14

1.3. Технология olap 17

1.3.1. Определение olap 19

1.3.2. Концепция многомерного представления данных 23

1.3.3. Технические аспекты хранения многомерных данных. 25

1.4. Средства создания olap-систем 27

1.4.1. Современные производители olap-систем 28

1.4.2. Перспективы open source 29

1.4.3. Технология java зо

1.5. Многомерные базы данных с неполной информацией 32

1.5.1. Поиск и извлечение данных 33

1.5.2. Агрегация данных 36

1.6. Подходы к решению 39

1.7. Выводы по главе 42

Глава 2. Многомерная модель данных 45

2.1. Гиперкуб данных 45

2.2. Операции манипулирования данными 48

2.3. Агрегация данных 50

2.4. Разреженный гиперкуб данных 53

2.5. Бинарное представление 54

2.6. Выборка данных 56

2.7. Структура данных rolap 58

2.8. Выводы по главе 61

Глава 3. Методы обработки информации в разреженных Гиперкубах данных 63

3.1. Построение карт заполненности гиперкуба данных 63

3.1.1. Одномерная проекция 63

3.1.2. Двумерная проекция 66

3.1.3. Трехмерная проекция 68

3.2.. Пошаговый конструктор запросов 70

3.2.1. Оценка эффективности пошагового конструктора запросов 70

3.2.2. Оптимизация пошагового конструктора запросов 72

3.2.3. Алгоритм формирования пользовательского запроса 75

3.3. Агрегация данных 78

3.3.1. Оценка уровня достоверности 78

3.3.2. Оперативное вычисление агрегатов 79

3.3.3. Предварительное вычисление агрегатов 82

3.3.4. Алгоритм предварительной агрегации 86

3.4. Унификация доступа к многомерной базе данных 91

3.4.1. Таблица метаданных 91

3.4.2. Алгоритм интерфейса унифицированного доступа 94

3.5. Выводы по главе 95

Глава 4. Средства создания и использования многомерных бд с неполной информацией 98

4.1. Возможности использования бд rolap в качестве основы информационно-Аналитической системы 98

4.2. О границах применимости пошагового конструктора запросов 103

4.3. Технологический комплекс сбора и обработки данных о состоянии образовательных ресурсов 105

4.3.1. Компонента унифицированного доступа к базе данных rolap 106

4.3.2. Компонента зо-визуализации многомерной базы данных. 108

4.3.3. Компонента картографического анализа 110

4.3.4. Система комплексного анализа и доступа к данным бд rolap 112

4.4. Использование скадц при решении задач сбора и обработки данных о Состоянии информатизации сферы образования 114

4.5. Создание распределенного хранилища данных на основе типовой структуры Rolap 117

4.5.1. Инвариантная типовая структура rolap 118

4.5.2. Принцип единой классификации 120

4.6. Выводы по главе 122

Заключение 124

Литература

Введение к работе

Рассматриваемая задача возникла при разработке комплекса технологических и программных средств, предназначенного для решения задач автоматизации сбора, хранения и обработки данных о состоянии образовательных ресурсов России по большому числу территориально распределенных объектов (образовательных учреждений) [2,5,15,16]. Целью создания и использования комплекса являлось обеспечение информационной поддержки принятия управленческих решений на различных уровнях управления сферой образования. В качестве основы аналитической части комплекса использовалась многомерная модель представления данных [3,4,22].

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

Актуальность темы. Эффективное управление организацией, предприятием, отраслью невозможно без принятия взвешенных, адекватных решений. Выработка таких решений требует от руководителей, управленцев анализа больших объемов информации, как правило, в условиях существенных ограничений по времени. Возможность анализа информации подразумевает необходимость проведения сбора исходных (первичных) данных по некоторому числу территориально-распределенных объектов. В связи с этим особую актуальность в настоящее время приобретают задачи автоматизации сбора и анализа территориально-распределенной информации [1,16,25,39,41].

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

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

В качестве средств поддержки принятия управленческих решений используются информационно-аналитические системы, позволяющие пользователю (аналитику, управленцу) сформировать запрос к системе и получить требуемую информацию в виде отчета установленной формы. Широкую популярность в сфере анализа количественных данных в настоящее время завоевывает технология оперативной аналитической обработки данных (OLAP), в основе которой лежит многомерная модель представления данных [6,8,56,57].

Применение многомерной модели данных в случае неполной информации ведет к возникновению ряда принципиальных проблем, существенно снижающих эффективность использования исходных данных [22]. Для решения этих проблем необходима разработка методов и средств анализа многомерных баз данных с неполной информацией. В ряде научных трудов [75,82], в т. ч. отечественных специалистов [27,38,59,47], рассматриваются теоретические основы реляционных баз данных с неполной

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

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

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

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

  2. Разработка метода оценки степени заполненности многомерной БД, позволяющего формализовать задачи анализа многомерных БД с неполной информацией.

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

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

  5. Создание и апробация программных средств, реализующих разработанные методы и алгоритмы.

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

Научная новизна и положения, выносимые на защиту

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

  2. Алгоритмы построения карт заполненности, позволяющих осуществлять визуальную оценку степени заполненности многомерных БД с неполной информацией.

  3. Алгоритм коррекции пользовательского запроса, позволяющий повысить эффективность доступа к данным в многомерной БД с неполной информацией.

  4. Метод агрегации данных, позволяющий пользователю оценивать уровень достоверности значений, полученных при агрегации первичных данных.

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

Результаты работы использовались при реализации ряда проектов, выполненных в рамках научно-методической программы "Научное, научно-методическое, материально-техническое и информационное обеспечение системы образования" (2001-2002гг.), а также федеральной целевой программы "Развитие единой образовательной информационной среды (2001-2005 годы)", в частности: "Разработка программных средств сбора и анализа статистических данных общего среднего и высшего профессионального образования" (2001-2002гг.), "Организация комплексного сопровождения реализации мероприятий ФЦП РЕОИС в субъектах Российской Федерации" (2004г.), "Разработка научно-методических основ создания единой системы информационно-коммуникационного обеспечения, сопровождения и поддержки развития

образования" (2005 г.), "Разработка автоматизированного рабочего места для анализа данных статистики образования в государственных и муниципальных органах управления образованием" (2005г.). Эксплуатация информационных систем, основанных на результатах работы, показала свою эффективность, что подтверждено соответствующими актами о внедрении.

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

Апробация работы и публикации

Результаты работы были представлены на различных конференциях, в частности: Всероссийской конференции "Современная образовательная среда" (Москва, 2001), Всероссийской научно-методической конференции "Телематика" (Санкт-Петербург, 2002-2004гг.), Всероссийской научно-технической конференции "ТиПВСИТ" (Улан-Уде, 2003), Всероссийской научно-техническая конференции "Информационные технологии" (Воронеж, 2005).

Результаты работы представлялись на выставках "Современная образовательная среда" (ВВЦ, 2002, 2003, 2004гг.), "Российский образовательный форум" (Сокольники, 2004, 2005) и были отмечены дипломом ВВЦ (Диплом №773, постановление №92 от 29.10.2002). По результатам работы автор был награжден золотой медалью ВВЦ (Удостоверение №1543, постановление №55 от 23.10.2003).

По результатам работы опубликовано 8 печатных работ.

Структура и объем работы

Текст диссертации состоит из введения, четырех глав, заключения и списка литературы, включающего 85 наименований. Диссертация содержит 131 страницу машинописного текста, 44 иллюстрации, 6 таблиц.

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

Вторая глава посвящена описанию многомерной модели данных, как основы OLAP-системы. Приводится формальное описание терминов OLAP, а также операций манипулирования данными. Предложено формальное описание метода оценки степени разреженности гиперкуба данных по выбранному набору измерений на основе оператора подсчета количества непустых ячеек. Приводится концепция бинарного представления гиперкуба данных и способа вычисления значения оператора подсчета количества непустых ячеек. В виде модели сетевого графа представлен процесс построения запроса на выборку данных из гиперкуба данных. Описывается концепция реализации логической многомерной модели данных на основе реляционной структуры ROLAP.

Третья глава посвящена описанию методов поиска и агрегации данных в разреженных гиперкубах данных. Приводится описание алгоритмов построения карт заполненности гиперкуба данных - как основы создания средств визуальной оценки степени заполненности многомерной базы данных. На примере сетевого графа рассматривается модель конструктора запросов на выборку данных из гиперкуба данных. Приводится алгоритм оптимизации построения запроса к разреженному гиперкубу данных.

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

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

Концепция многомерного представления данных

Основной структурой данных при их многомерном представлении является куб (гиперкуб) данных (Data Hypercube). Многомерная база данных состоит из одного или нескольких таких кубов. Куб данных обладает двумя или более независимыми измерениями (Dimensions), определяющими пространство данных, соответствующее исследуемой предметной области. Координаты каждого измерения представляют собой значения атрибута данных и называются метками (Members). Множество меток может иметь иерархическую структуру. Совокупности меток по всем измерениям соответствует ячейка (Cell), находящаяся на пересечении сечений куба, соответствующих указанной совокупности меток. Ячейка может содержать значение показателя или быть пустой (Empty Cell).

Существование иерархии меток измерения позволяет агрегировать значения соответствующих данных, осуществляя анализ данных с необходимым уровнем детализации. Основной операцией для многомерного преставления данных является операция формирования среза (Slice) куба данных (Рис. 1.3). Срезы куба, необходимые для различных аспектов анализа, задаются путем фиксации меток для некоторого подмножества измерений. Фиксация метки (выбор года) « , Операция свертки (Roll-up) позволяет построить из куба данных новый куб путем агрегирования значений, соответствующих меткам измерения, для которого определено иерархическое отношение. Возможна так же и обратная операция детализация (Drill-down), позволяющая получать детализированные данные.

Операция поворота (Rotation) позволяет изменить порядок измерений в кубе данных нужным для пользователя образом.

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

Центральное требование OLAP - поддержка многомерности данных рассматривается Э.Коддом с точки зрения их логического представления. При этом способы физического хранения данных могут различаться в зависимости от объемов данных в системе и требований к производительности системы.

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

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

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

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

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

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

Каждый из этих способов имеет свои преимущества и недостатки и должен применяться в зависимости от условий - объема данных, мощности используемой СУБД и т. д.

Многомерное хранение позволяет обращаться с данными как с многомерным массивом, благодаря чему обеспечиваются одинаково быстрые вычисления суммарных показателей и различные многомерные преобразования по любому из измерений. При хранении данных в многомерных структурах возникает потенциальная проблема "взрывного роста объема БД".Данные могут храниться как в реляционных, так и в многомерных структурах. Многомерное хранение позволяет обращаться с данными как с многомерным массивом, благодаря чему обеспечиваются одинаково быстрые вычисления суммарных показателей и различные многомерные преобразования по любому из измерений. При хранении данных в многомерных структурах возникает потенциальная проблема "взрывного роста объема БД".

Операции манипулирования данными

Подмножество гиперкуба Н (D , М ), получившееся в результате фиксации меток одного или более измерений, называется Срезом (Slice). Операция построения среза проводится с целью получения требуемого подмножества ячеек Н сН и отсечения "ненужных" значений путем последовательной фиксации меток. Срез, как правило, представляет собой двумерный массив (таблицу).

Метка mj. єМ задает гиперплоскость сечения гиперкуба данных, соответствующую измерению "/ є D. Множество фиксированных меток М CzM, таким образом, задает множество гиперплоскостей сечений гиперкуба данных, соответствующее множеству фиксированных измерений — . Пересечение этих гиперплоскостей определяет множество ячеек (срез) гиперкуба данных Н (D , М ), интересующих пользователя. Суть процесса выборки данных из гиперкуба данных, таким образом, состоит в построении среза гиперкуба данных H (D ,M ) путем задания множеств D иМ .

Фиксируя метку mj. є М t соответствующую измерению «, Є D} пользователь определяет интересующую его в дальнейшем область гиперкуба данных. На каждом следующем шаге пользователю доступны метки, соответствующие множеству незафиксированных измерений D\D . Зафиксировав, таким образом, метки в измерениях D \ D\D = 1 пользователь получает срез гиперкуба данных в виде таблицы. Операция "Вращения"

Изменение порядка представления (визуализации) измерений называется Вращением (Rotate). Вращение обеспечивает возможность визуализации данных в форме, наиболее комфортной для их восприятия.

В терминах рассматриваемой модели данных вращение означает смену последовательности фиксации меток при построении среза. Результатом вращения для двумерного среза (таблицы) будет замена столбцов на строки, а строк на столбцы.

Операции "свертки и детализации "

Свертка и детализация осуществляются благодаря наличию иерархической структуры измерений. Значения измерений (метки) могут объединяться в иерархии, состоящие из одного или нескольких уровней (levels). Например, метки измерения "Время" естественно объединяются в иерархию с уровнями: год, квартал, месяц, день (Рис 2.2). Далее будет показано, что операции свертки и детализации принципиально не отличаются от операции построения среза гиперкуба данных, однако их выделяют для описания работы с агрегированными данными.

Вычисление агрегатов производится в соответствии с применяемым методом агрегирования (Таблица 1.2). Например, в случае суммирования значение агрегата X на уровне иерархии / = 1 может быть вычислено по М; Xх - Vx ы формуле: і L-i І , где Mj- количество фактов, соответствующих І=І меткам, являющимся дочерними по отношению к меткеу. Обобщая, получим формулы вычисления агрегатов по методу суммирования на остальных уровнях иерархии: XJ-Hxi l , l = l,...,L;J = l,-,N,

Ось измерения D, первоначально содержащая метки, соответствующие нижнему уровню иерархии (/ = 0), может быть дополнена метками, соответствующими уровням иерархии, начиная с / = 1. Таким образом, различие между метками, соответствующими первичным данным и метками, соответствующим агрегатам является условным.

Операция свертки данных в этом случае представляет собой построение среза гиперкуба данных, соответствующего смене метки уровня агрегации 1Х10 /, L на уровень /21 /, /2 L. Операция детализации соответствует смене метки уровня /t 11 /, L на уровень /210 /2 /,.

Количество агрегатов для одного измерения NA= 2 {. Рассмотрим случай двух измерений (Рис. 2.4). Количество агрегатов, хранимое в гиперкубе данных наряду с первичными данными, зависит от количества меток, соответствующих уровням иерархии измерений гиперкуба, начиная с / = 1, и может существенно превышать количество первичных данных.

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

Введем оператор подсчета количества непустых ячеек ставящий в соответствие множествам фиксированных измерений D и фиксированных меток М гиперкуба данных H(Z),M) некоторое число С, равное количеству непустых ячеек в срезе W{D ,M ). Количество всех ячеек в срезе n (D ,M ) (мощность среза) может быть выражено формулой: = 11р , 11р ,, где Md . множество D\D фиксированных меток измерения dif a D - множество фиксированных измерений в случае, когда не все измерения фиксированы, т.е. D\D Ф0 и I = 111 di в случае, когда все измерения фиксированы ( D \ D = 0 ). D Плотности среза Н гиперкуба данных Н может быть определена как соотношение:

Оценка эффективности пошагового конструктора запросов

Работа пошагового конструктора запросов может быть представлена в виде модели сетевого графа G(S, V), описанной в разделе 2.7. Сопоставим каждой вершине графа s є о число cj. — С(Н ) , где D и М - множества фиксированных измерений и меток соответственно. Множества D и М соответствуют пути пользователя w к вершине cj[. Таким образом, вершине графа sjt є S может быть сопоставлено несколько значении , в зависимости от множества ранее фиксированных меток М , т.е. пути, которым пользователь попал в вершину S j(.

Очевидно, в случае разреженного гиперкуба данных граф G(S,P) будет содержать некоторое количество путей w, со значением cjf (w) = 0. Будем называть такие пути ложными. Суть оптимизации процедуры формирования пользовательского запроса на сетевом графе G( S, V), таким образом, состоит в выявлении ложных путей и применению алгоритма, позволяющего пользователю их "обходить".

Будем называть путь, соединяющий начальную и конечную вершину графа, полным. Оценим количество полных путей в графе G(S,P). Пусть гиперкуб данных H(D,M) содержит п = Z) измерений и каждое измерение di є D содержит kt = Мdj меток. Количество полных путей пр на некоторой последовательности фиксации измерений равно количеству всевозможных комбинаций меток измерений: w/ _ 1 JA Число 1=1 всевозможных последовательностей фиксации измерений есть п!. п Следовательно, число полных путей Wa = п\пр = я! jA:, . 1=1

Очевидно, количество полных путей в графе G(S,P) зависит от количества меток линейно, а от количества измерений экспоненциально. Характер этой зависимости для случая к{ = 1,...,10,п = 1,...,7 представлен на рис. 3.9.

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

Рассмотрим процесс формирования запроса с помощью модели сетевого графа G(S,P) (рис. 3.10).

Начальная вершина графа соответствует началу процедуры формирования запроса и отсутствию фиксированных меток. Сопоставим начальной вершине графа число со0 - значение оператора С(Н ), где D = 0,М = 0. Случай C(W) = O,D = 0,M = 0 является тривиальным (гиперкуб не содержит данных). Вершинам первого слоя S, сопоставим значения су,, где j = 1,..., М . Таким образом, вершины первого слоя графа G(S,P) будут содержать значения оператора С(Н ), соответствующие меткам fflj Є М. Отметим, что для некоторых значений fflj є М число с jx может принимать значение 0. Это означает, что данной метке соответствуют лишь пустые ячейки гиперкуба данных и путь, идущий через эту вершину ложен. Отбросим вершины со значением с} - 0, предоставив пользователю для фиксации множества допустимых значений Т,Р, являющихся подмножествами множеств возможных значений для фиксации ДМ.

На первом шаге формирования запроса пользователь фиксирует метку т еР измерения d є Г, перемещаясь, таким образом, в вершину графа G{S,P), соответствующую фиксированной метке т . Сопоставим вершинам второго слоя S2 графа G(S,P) значения оператора су-2 = С(Н(/)С,МС)), где Dc=d Qdi,Me=m emJ,i = l,..\T\d\j = \,...,\P\Md.\.

На каждом последующем шаге / = 1,...,п будем аналогичным образом заполнять вершины графа значениями оператора cj. — C\H(Z)C,MC)) в зависимости от выбора пользователя и отбрасывать вершины со значением Cj. — 0. Таким образом, после фиксации всех измерений получим граф G(S,Pt), вершины которого содержат значения оператора су, О, а w= {wjk,wjk,...,w"k} - неложный путь пользователя в графе G(S,P).

Как уже отмечалось, при работе с разреженным гиперкубом данных, среди прочих, пользователь может "попадать" в вершины, содержащие значения 0. Результатом запроса, сформированного путем, содержащим значение 0, будет пустая выборка. Рассмотренный подход является основой алгоритма формирования пользовательского запроса к разреженному гиперкубу данных, позволяющего пользователю "обходить" вершины со значением 0, избегая, таким образом, получения пустой выборки. Эффективность работы пошагового конструктора запросов, основанного на этом алгоритме, не зависит от степени разреженности гиперкуба данных и соответствует горизонтальной линии на графике рис. 3.8.

О границах применимости пошагового конструктора запросов

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

При этом суть процедуры оптимизации состоит в сокращении времени, которое тратит пользователь на получение результативного отчета. Очевидно, что реализация процедуры оптимизации формирования пользовательского запроса оправдывает себя только в случае, когда время, затраченное системой на вычисление всех необходимы значений оператора, не превосходит времени выбора пользователем значения измерения (в противном случае пользователь будет затрачивать дополнительное время на ожидание отклика системы, что неизбежно приведет к снижению эффективности работы пользователя с конструктором). Назовем это время пороговым значением и условно определим его как 5 секунд (по некоторым оценкам именно столько в среднем требуется пользователю для выбора значения). На рис. 4.3, 4.4 представлены графики, характеризующие зависимость времени подсчета значений оператора количества непустых ячеек для видимой области значений измерений ( 10 значений) от степени заполненности гиперкуба данных (количества записей в таблице фактов) для различных мощностей используемых аппаратных средств.

Из графиков видно, что при максимальном числе записей в 500000 единиц, что соответствует 5-ти мерной структуре со списком территориальных объектов, включающем около 200 значений, время вычисления значений оператора не превышает порогового значения для обеих конфигураций аппаратных мощностей.

В случае, когда количество записей составляет порядок 1500000, что соответствует 5-ти мерной структуре со списком территориальных объектов, включающем около 500 значений, для высокого уровня заполненности многомерной БД (более 40%) рекомендуется использование аппаратных средств, превышающих мощность в 1GFLPS.

Рассмотренные методы и алгоритмы работы с разреженными гиперкубами данных были применены при создании технологического комплекса сбора и обработки данных о состоянии образовательных ресурсов РФ. Комплекс включает набор программных средств, позволяющих решать задачи сбора тематических показателей по заданному числу территориальных объектов, создания и наполнения многомерной базы данных, осуществления комплексного анализа данных и поддержки принятия управленческих решений на различных уровнях управления в рамках отрасли.

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

Компонента унифицированного доступа к базе данных ROLAP представляет собой универсальное средство формирования запроса на выборку данных из базы данных ROLAP и получения отчета в виде таблицы. Компонента может быть использована в качестве основы создания интерфейса доступа к различным базам данных, организованных по схеме ROLAP и предоставляет следующую функциональность: поддержка многомерной модели данных и функционала OLAP; возможность работы с произвольным числом измерений и меток; оптимизация формирования пользовательского запроса на основе анализа заполненности базы данных.

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