Алгоритм оценки релевантности представлений для материализации в специализированном хранилище данных*

Библиографический список

1. Орлов, С. Технологии разработки программного обеспечения / С. Орлов. СПб. : Питер, 2002.

2. Поздняков, Д. А. Компонентная программная архитектура мультиверсионных систем обработки информации и управления : автореф. дис. ... канд. техн. наук / Д. А. Поздняков. Красноярск, 2006.

3. Липаев, В. В. Проектирование программных средств : учеб. пособие / В. В. Липаев. М. : Высш. шк., 1990.

4. Avizienis, A. On the Implementation of N-Version Programming for Software Fault Tolerance During Execution / A. Avizienis, L. Chen // Proc. of the IEEE COMPSAC’77. Chicago, USA, 1977. P. 149-155.

5. Randell, B. The Evolution of the Recovery Block Concept / B. Randell, J. Xu // Software Fault Tolerance / ed. M. R. Lyu. New York : John Wiley&Sons, 1995. P. 1-21.

6. Predictably Dependable Computing Systems / ed. B. Randell [et al.]. Berlin : Springer-Verlag, 1995.

7. The Methodology of N-Version Programming / A. Avizienis // Software Fault Tolerance / ed. М. R. Lyu. New York : John Wiley & Sons, 1995. P. 22-46.

8. Scott, R. K. Fault-Tolerant Software Reliability Modeling / R. K. Scott, J. W. Gault, D. F. McAllister // IEEE Transactions on Software Engineering. 1987. Vol. SE-13, № 5. P. 582-592.

9. Письман, Д. М. GERT- сетевой анализ временных характеристик работы узлов распределенных систем обработки информации : автореф. дис. . канд. техн. наук / Д. М. Письман. Красноярск, 2006.

10. Филлипс, Д. Методы анализа сетей / Д. Филлипс, А. Г арсиа-Диас. М. : Мир, 1984.

P. V. Kovalev, A. N. Laykov, S. N. Gritsenko

THE RELIABILITY RESEARCH OF N-VERSION SOFTWARE USING METHODS OF NETWORK ANALYSIS

The technique of the reliability research of N-version software is offered. It allows using algorithms and methods of network analysis for the reliability research of software, developed by N-version approach using.

Keywords: reliability, N-version, networks, estimation methods, network analysis.

УДК004.421.4

К. В. Бадмаева

АЛГОРИТМ ОЦЕНКИ РЕЛЕВАНТНОСТИ ПРЕДСТАВЛЕНИЙ ДЛЯ МАТЕРИАЛИЗАЦИИ В СПЕЦИАЛИЗИРОВАННОМ ХРАНИЛИЩЕ ДАННЫХ*

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

Ключевые слова: хранилище данных, материализация представлений.

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

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

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

* Работа выполнена при поддержке гранта Президента РФ для ведущих научных школ № НШ-3431.2008.9.

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

Постановка задачи оценки представлений. Для решения задачи выбора представлений для материализации при исследовании предметной области требуется определить набор расчетных методик М = {М,...,Мы}, предназначенных для анализа данных. Методики включают правила вычисления отдельных показателей или семантически связанных групп показателей.

Поставим каждой методике в соответствие числовое значение S(M), отражающее оценку ее семантической важности для данной предметной области. Это можно выполнить, используя методы экспертных оценок [6].

Частоту использования данных в хранилище Е(М) можно оценить по временному периоду обновления результатов методик, связанному с поступлением новых данных. Для этого необходимо определить наибольший период обновления результатов методик Т, характерный для данной предметной области, и рассчитать частоту применения результатов каждой методики за этот период, получаемую методами экспертных оценок [6].

Для М = {Мі}, і = 1, N , где М- множество методик предметной области; N - количество методик, семантическая важность каждой из этих методик определяется как S(Мі) є [0; ст], где ст - некоторое максимальное значение, соответствующее наибольшей важности, а частота применения каждой методики - как Е(Мі) є ^0; Т

где Т - наибольший период времени обновления результатов методик (пополнения данных).

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

М = {Мі}, і = ЇЖ; S(Мі) є [0;ст]; Е(Мі) є ^0;Т

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

В алгоритме определения релевантности представлений используются следующие основные обозначения:

- М = {М.} - множество методик предметной области, і = 1, N;

- N - количество методик предметной области;

- S (М.) - семантическая важность і-й методики;

- ст - максимальное значение семантической важности;

- Е(Мі) - частота применения і-й методики;

- Т - наибольший период времени обновления результатов методик (пополнения данных);

- к - количество классов разбиения методик;

- P = {P ..., Рк] - множество классов частоты использования методик;

- s - количество уровней семантической важности методик;

- S = {1,..., sI - множество уровней семантической важности;

- RM = {R11,R12,...,R1s, к , R^,RK2,...,RKsI - множество классов методик, упорядоченное по релевантности на основе частоты использования и семантической важности;

- R'M ={R/, R2,..., Rs1 - множество i-го класса частот методик, упорядоченное по релевантности на основе семантической важности;

- A = {A1, ...,AKI - множество атрибутов классов методик;

- Aj - множество атрибутов, используемых в методиках RMi ;

- a є A - атрибут расчетной методики;

- MA - множество классов атрибутов, построенное по заданному алгоритму;

- MCV - множество кандидатов представлений на основе MA .

Пошаговое описание алгоритма оценки релевантности представлений. Для построения упорядоченного по релевантности множества представлений выполняются следующие шаги.

Шаг І - разбить множество расчетных методик на классы по частоте их использования.

На этом шаге определяются правила разбиения методик на классы по частоте их использования. Если к - количество классов разбиения, на которое разбивается интервал частоты применения методик

= (0; P ]u( P; P2 ]u... u^ PK _х; ± которых определяет отдельный класс, то

є P, если F(Mt) є (0; P],

Mi є p. , если F (M. ) є (p.-1; P. ]

є рк , если F (Mj) є ^ рк-1; T

где P = {р, к, P., к, Рк I - множество классов частот использования методик, i = 1, N, j = 2, к -1.

Шаг 2 - сформировать упорядоченное по релевантности множество методик.

На этом шаге формируются классы методик по частоте и семантической важности. Входные данные і

M = {M.I, S(Mt) є [0;s], F(Mt) є ^0;1 ; . = 1,N ,

к - количество классов разбиения. Требуется выделить на интервале [0; s] s уровней

0; level 1) u [level 1; level 2) u u к u [level (s -1); s

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

Правила разбиения, которые определяют классы методик по уровням семантической важности и классам частот использования, задаются следующим образомі є Rj , если F(M,) є P. и S(Mt) є [level (s -1);s]

каждый из

[0; s]=

e Rj2, если F(Mt) e Pj и S(Mt) e [level(5-2);level(5-l));

Mt e Rj5, если F(Mt) e Pt и S(Mt) e [0; level l) j = 1, K.

Выходные данные: RM = {R11, R12,..., R15,..

..., RK5} - множество классов методик, упорядоченных по уменьшению релевантности и частоте использования. Пошаговое построение RM с промежуточным выделением его элементов позволит выполнять перерасчет множества релевантных представлений за счет изменения или исключения из рассмотрения отдельных уровней семантической важности.

Шаг 3 - построить множество классов атрибутов методик.

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

RM = {Ri1,Ri2,...,Ri5}, ..., RM = {Rk1,Rk2,...,Rk5},всего K групп. Одни и те же атрибуты могут входить в различные методики. Для определения множества классов релевантных атрибутов MA предлагается использовать алгоритм исключения (рис. 1).

Этот алгоритм заключается в том, что элементы множества атрибутов, участвующих в формировании наиболее важных методик, вычисляются по формуле

MA = Ai, MA = Aj \ U A, ,

Выполним разбиение отрезка | О; t

на классы. На-

пример, методики, используемые ежеквартально и ежемесячно, относятся к классу Р1, используемые примерно два раза в год, - к классу Р2, используемые реже чем два раза в год, - к классу Р3.

где I =1, (} -1) , } = 2,К; А, А1 - множества атрибутов методик КМ и Я1М соответственно. Количество элементов множества МА совпадает с количеством классов методик К, заданным экспертным путем: МА = {МА }, где і = 1, К .

Шаг 4 - упорядочить по релевантности множество представлений.

На этом шаге частота и релевантность представлений определяется входящими в них атрибутами. На основе множества МА формируется множество кандидатов представлений МС¥ = {М(г¥ }, где М(с¥ - множество всевозможных сочетаний элементов МА и МіА-1.

Полученное множество МС¥ кандидатов представлений, упорядоченное по релевантности, может использоваться для повышения эффективности модели хранилища данных.

Пример применения алгоритма оценки релевантности представлений. Пусть при исследовании предметной области определены множество методик М = {Мі}, і = 1,15, семантическая важность каждой методики £ (Мі) є [0; ст] и частота использования

F(Мі) є ^0; 1 , где у = 10; Т = 12 месяцев. Количество

уровней важности 5 = 2, граница уровней находится в у / 2, количество классов частот использования методик К = 3. Требуется разбить М на классы по частоте и семантической важности (рис. 2).

Для выделения семантически важных элементов разобьем интервал [0; ст] на две части (по значению уровней важности 5): [0; ст] = [ 0; ст /2) и [ст /2; ст ]. Методики, значение семантической важности которых попадает в область [ст / 2; ст] относятся к первому уровню, в область [0; ст /2) - ко второму.

Рис. 1. Блок-схема алгоритма исключения

Рис. 2. Разбиение методик на классы по семантической важности

Правила формирования множества релевантных элементов для данного примера будут следующими:

Mt є M, є R,

\К], если Е(М,) е Ру и £(М,) е[ст /2; ст],

_ Д если Е(М,) е Ру и£(М,) е[0;ст/2); у = 1,^.

Сформируем упорядоченное по релевантности множество классов:

Ям = (ЯД ЯД ЯД ^22, ЯД ^32} =

= {

|(Мз);(М8,Мп);(М6,М9,М1з) ]'

Для определения множеств атрибутов, участвующих в формировании методик, сгруппируем элементы множества Ям по частоте использования: Я1м =(Я^, Я12},

ям =(я1,я2Ь ям ={яЗ,я2}.

Сформируем множество релевантных атрибутов по алгоритму исключения (рис. з).

Рис. 3. Пример алгоритма исключения

Определим множество классов МА, включающее множества атрибутов, упорядоченных по убыванию релевантности. Упорядоченные множества содержат атрибуты множеств методик, исключая уже учтенные атрибуты, и число полученных множеств совпадает с количеством классов методик: МА = А1, МА = А1 \ А2, М3А = А3 \(А1 и А2). Итак, множество МА = {М^, М А, М3А } для формирования кандидатов представлений МС построено.

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

ства и минимизации общей стоимость материализации, состоящей из стоимости обслуживания и времени ответа на запросы к базе данных [7].

Апробация рассмотренных методов и алгоритмов выполнена при реализации хранилища медико-демографических данных и специализированного хранилища показателей социально-экономического развития региона [8; 9].

Библиографический список

1. Theodoratos, D. A general framework for the view selection problem for data warehouse design and evolution / D. Theodoratos, M. Bouzeghoub // Proc. of the 3rd ACM Intern. Workshop on Data Warehousing and OLAP. New York, 2000. P. 1-8.

2. ROLAP implementations of the data cube / K. Morfonios, S. Konakas, Y. Ioannidis, N. Kotsis // ACM Comput. Survey. 2007. Vol. 39, №2 4. P. 12.

3. Efficient approaches for materialized views selection in a data warehouse / M. Hung, M. Huang, D. Yang, N. Hsueh // Inform. Sci. 2007. №> 177. P. 1333-1348.

4. Gupta, H. Selection of Views to Materialize in a Data Warehouse / H. Gupta, F. N. Afrati, P. G. Kolaitis // Proc. of the 6th intern. Conf. on Database Theory. London : Springer-Verlag, 1997. P. 98-112.

5. Golfarelli, M. View Materialization for Nested GPSJ Queries / M.Golfarelli, S.Rizzi // Proc. of the Intern. Workshop on Design and Management of Data Warehouses. Stockholm, Sweden, 2000. P. 6.

6. Бешелев, С. Д. Математико-статистические методы экспертных оценок / С. Д. Бешелев, Ф. Г. Гурвич. 2-е изд., перераб. и доп. М. : Статистика, 1980.

7. Бадмаева, К. В. Формирование стоимостной модели для проектирования хранилищ данных / К. В. Бадмаева // Современные информационные технологии в науке, образовании и практике : материалы VII Всерос. науч.-практ. конф. с междунар. участием / Оренбург, гос. ун-т. Оренбург, 2008. С. 332-341.

8. Исаева, О. С. Проблемы построения специализированного хранилища демографических данных / О. С. Исаева, К. В. Шалдыбина // Вестник КрасГУ Серия «Физикоматематические науки». 2006. N° 1. С. 222-227.

9. Пенькова, Т. Г. Проектирование специализированного хранилища показателей социально-экономического развития региона / Т. Г. Пенькова, Л. Ф. Ноженкова, К. В. Шалдыбина // Вестник КрасГАУ 2007. №> 14. C. 122-128.

K. V Badmaeva

THE RELEVANCE ESTIMATION ALGORITHM REPRESENTATIONS FOR MATERIALIZATION IN SPECIALIZED DATA WAREHOUSE

In the paper specialized data warehouses design at the absence of the statistical information about database work is considered. The relevance estimation algorithm of representation, on the basis of data domain is offered. It allows decision making about aggregated data including the data warehouse scheme. The algorithm is intended to reduce a designer’s subjectivity at the development of effective initial model of data warehouse.

Keywords: data warehouse, representations materialization.