Е. М. ХРУСТАЛЁВ

Научный руководитель – Ш. У. НИЗАМЕТДИНОВ, к. т.н., доцент

Московский инженерно-физический институт (государственный университет)

ЗАДАЧА ЛИНЕЙНОЙ ОПТИМИЗАЦИИ
ПРИ ОПРЕДЕЛЕНИИ ОПЦИЙ ХРАНЕНИЯ OLAP-КУБА

Способность предварительного формирования агрегатных значений показателей является основным свойством систем поддержки оперативного анализа данных (OLAP-систем). Это позволяет минимизировать время отклика при построении динамических отчётов. Основной проблемой при построении и использовании таких систем является дилемма между производительностью и объёмом дискового пространства, занимаемым агрегатными значениями. Большое количество измерений и уровней агрегации внутри них может приводить к эффекту, характеризующемуся стремительным ростом объема дискового пространства, необходимого для хранения агрегатных значений показателей.

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

,

где переменная vs определяет объем дискового пространства, предназначенный для хранения агрегатов s-го раздела при ограничении сумма иного объёма этого пространства V*.

Далее на основании некоторых допущений задача оптимизации приводится к задаче линейного программирования, решением которой является вектор оптимального распределения квоты дискового пространства на хранение агрегатов между разделами OLAP-куба. Одним из допущений является то, что удельный объём памяти, предназначенный для хранения значения показателя, принят одинаковым для всех способов хранения данных куба (ROLAP, HOAP, MOLAP). Однако известно, что реляционная структура хранения данных является более экономичной с точки зрения объема занимаемой информации, чем многомерная.

Исходя из вышесказанного, необходимо определить значения удельного объема vR и vM для реляционного и многомерного способов хранения соответственно. Используя рассуждения, аналогичные приведенным в [1], преобразуем целевую функцию к линейному виду, однако осуществлять переход в пространство безразмерных величин, определяющих количество агрегатов для каждого из разделов, не будем. Предположим, что мы имеем l разделов со способом хранения ROLAP при общем количестве разделов p. Тогда получим следующую задачу линейной оптимизации:

.

Легко увидеть, что данная задача приводится к стандартному виду задачи линейного программирования, решением которой будет вектор оптимального распределения объёма дискового пространства между разделами OLAP-куба. При определении степени агрегации s-го разделов по формуле gs = vs / (Vs* vуд) необходимо учитывать, что значения удельных объемов показателя для ROLAP и MOLAP (HOLAP) разделов различны.

Таким образом, учитывая способы физического хранения данных в разделах OLAP-куба, получим более адекватные с точки зрения оптимальности значения опций хранения OALP - куба по сравнению с решением, приведённым в [1].

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

1.  Хрусталёв процедура оптимизации параметров хранения OLAP-куба: Магистерская диссертация. М.: МИФИ, 2003.