Научная статья на тему 'Имитационная модель для исследования эффективности денормализации реляционной базы данных в информационной системе'

Имитационная модель для исследования эффективности денормализации реляционной базы данных в информационной системе Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
412
68
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИМИТАЦИОННАЯ МОДЕЛЬ / РЕЛЯЦИОННАЯ БАЗА ДАННЫХ / ИНФОРМАЦИОННАЯ СИСТЕМА

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

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Кунгурцев А. Б., Зиноватная С. Л.

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

Текст научной работы на тему «Имитационная модель для исследования эффективности денормализации реляционной базы данных в информационной системе»

3. Количественные методы финансового анализа / Под ред. Стивена Дж. Брауна и Марка П. Крицмена: Пер. с англ. - М.: ИНФРА-М, 1996. - 352 с.

4. Наталуха И. Г. Моделирование спекулятивного бума на финансовом рынке с учетом психологии инвесторов // Материалы VI Всеросс. симпозиума «Математическое моделирование и компьютерные технологии». - Кисловодск, 2004. - Т. 2. - С. 7-8.

5. Христановский В.В., Щербина В. П. Функция полезности: теория и анализ: Учебное пособие.- X.: ИД «ИНЖЕК», 2006. - 120 с.

6. Черкасова В. А., Батенкова А. А. Влияние стратегических рисков на финансовые результаты компании // Корпоративные финансы. - 2007. - № 3. - С. 64-76.

7. Четыркин Е. М. Финансовая математика. - М.: Дело, 2002. - 540 с.

8. Шарп V., Александер Г., Бейли А. Инвестиционный менеджмент. - М.: ИНФРА-М, 2003. - 257 с.

9. Шапки А. С. Экономические и финансовые риски. Оценка, управление, портфель инвестиций: Монография. - М.: Издательско-торговая корпорация «Дашков и Ко», 2003. - 544 с.

10. Эддоус М., Стэнсфилд Р. Методы принятия решений. -М.: Мир, 2003. - 123 с.

11. Якушков В. К. Функция полезности для инвестирования. - М.: Дело, 2002. - 167 с.

Надшшла 25.04.2008

Розглянуто основт CKAadoei оптимального портфеля (очтуваний прибуток портфеля i стандартне eidxu-лення як Mipa ризику), як дозволяють агенту фтансо-вого ринку неперервно реструктурувати портфель (роблячи максимальною користь прoмiжнoгo використання i (або) остаточного катталу) у вiдпoвiднocтi з твестицшними можливостями, як змтюються стохастично. Прoaнaлiзoвaнi метoдi onтuмiзaцi'i (метод Марковща i Шарпа), а також розглянута роль функцп кoрucнocтi для формування твестицшного портфеля.

The basic components of optimal portfolio were viewed: expected portfolio's yield and standard deviation as the risk's measure. These components allow the agent of the financial market to restructure portfolio uninterruptedly (maximizing profit of intermediate consumption and (or) final capital) according to stochastic varying investment opportunities. Methods of optimization (H. Markowitz's and W. Sharpe's method) were analysed, and also the role of utility function in forming investment portfolio was viewed.

УДК 004.658.3

А. Б. Кунгурцев, С. Л. Зиноватная

ИМИТАЦИОННАЯ МОДЕЛЬ ДЛЯ ИССЛЕДОВАНИЯ ЭФФЕКТИВНОСТИ ДЕНОРМАЛИЗАЦИИ РЕЛЯЦИОННОЙ БАЗЫ ДАННЫХ В ИНФОРМАЦИОННОЙ СИСТЕМЕ

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

ВВЕДЕНИЕ

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

© Кунгурцев А. Б., Зиноватная С. Л., 2008

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

ПОСТАНОВКА ЗАДАЧИ

Существуют программные продукты, позволяющие анализировать эффективность запросов к БД. Например, Query Analyzer [3] позволяет просматривать план выполнения запроса, сгенерированный оптимизатором запросов MS SQL Server. Однако не существует универсальных инструментов, которые дают возмож-

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

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

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

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

1) сформировать условия для проведения эксперимента: создавать требуемую структуру отношений; задавать исходные данные для проведения эксперимента; заполнять отношения данными; изменять структуру таблиц в процессе проведения эксперимента;

2) выполнить набор запросов для определения изменений времени их выполнения для проведения сравнительного анализа поведения системы при различных исходных условиях: сканирования отношения до и после изменений в его структуре; устранения соединения отношений; соединения денормализованного отношения с другими отношениями;

3) просмотреть результатов работы программы: в табличном виде; в графическом виде.

Параметры модели, позволяющие изменять размер исследуемых отношений, включают следующее:

- исходное количество кортежей в исследуемых отношениях pC0 (pC0 в родительском и pC0 в подчиненном отношении соответственно);

1

- множества коэффициентов pKs (pKs для изменения количества кортежей в родительском отношении, pKs2 для изменения количества кортежей в подчиненном отношении и pKs для изменения размера кортежа реструктурируемого отношения соответственно).

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

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

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

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

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

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

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

СТРУКТУРА ЭКСПЕРИМЕНТАЛЬНЫХ

ОТНОШЕНИЙ

Родительское отношение Т1. Имеет начальный размер кортежа Н0, совпадающий с размером кортежа исследуемого отношения.

Атрибутами отношения Т1 являются:

- ключевой атрибут id числового типа;

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

Подчиненное отношение Т2. Имеет начальный размер кортежа Н^, совпадающий с размером кортежа исследуемого отношения.

Атрибутами отношения Т2 являются:

- ключевой атрибут id числового типа;

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

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

Родительское отношение Т1Б. В начале исследования имеет структуру, совпадающую со структурой отношения Т1. В процессе проведения эксперимента размер кортежа этого отношения к\ может изменяться в соответствии с условиями проведения эксперимента.

Атрибутами отношения Т1Б являются:

- ключевой атрибут id числового типа;

- набор неключевых атрибутов попкеу^_1, ..., поп-кеу«_ОТ1;

- добавляемый в отношение во время проведения эксперимента набор неключевых атрибутов AddP1, ..., AddPNT1D строкового типа фиксированного размера, что позволяет обеспечить необходимый размер кортежа отношения Н1; размер каждого такого атрибута и их общее количество ОТШ изменяется в процессе проведения эксперимента в соответствии с заданными параметрами.

Подчиненное отношение Т2D. В начале исследования имеет структуру, совпадающую со структурой отношения Т2. В процессе проведения эксперимента размер кортежа этого отношения Н2 может изменяться в соответствии с условиями проведения эксперимента.

Атрибутами отношения Т2D являются:

- ключевой атрибут id числового типа;

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

- набор неключевых атрибутов попкеу12_1, ..., поп-keyt2_NT2 строкового типа фиксированного размера;

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

Рисунок 1 - Схема данных экспериментальных отношений

На рис. 1 приведена схема данных для экспериментального множества отношений.

СТРУКТУРА СЛУЖЕБНОЙ БД

В результате проведения эксперимента необходимо сохранять следующую информацию:

- идентификатор сеанса эксперимента (под сеансом понимается один цикл прохождения по всем коэффициентам изменения количества кортежей родительского отношения, подчиненного отношения и размера кортежа реструктурируемого отношения);

- строку соединения с исследуемой БД;

- дату и время проведения эксперимента;

- параметры проведения эксперимента (начальные значения для количества кортежей, коэффициенты их изменения, коэффициенты изменения размера кортежа исследуемого отношения, режим проведения эксперимента);

- время выполнения запросов к экспериментальным отношениям.

В процессе проведения эксперимента в течение одного сеанса происходит выполнение следующих вложенных циклов.

1) Цикл по количеству кортежей в родительском отношении:

i = C1_Start to C1_End step k1,

где C1_Start - исходное количество кортежей в отношении Т1, соответствует рС0; C1_End - конечное значение количества кортежей в отношении Т1, определяется в зависимости от содержимого массива коэффициентов увеличения количества кортежей в родительском отношении; £1 - шаг изменения, предполагает увеличение текущего г-го значения количества кортежей в отношении в рКЗ1 раз, где - г-е значение соответствующего множества коэффициентов рКз ; определяется параметрами проведения эксперимента; может быть различным в разных итерациях цикла.

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

С1 = РС0 ■ pKs1.

2) Цикл по количеству кортежей в подчиненном отношении, выполняется на каждой итерации цикла для родительского отношения:

j = C2_Start to C2_End step k2,

где C2_Start - исходное количество кортежей в отношении Т2, соответствует рС0; C2_End - конечное значение количества кортежей в отношении Т1, определя-

ется в зависимости от содержимого множества коэффициентов увеличения количества кортежей в подчиненном отношении; к2 - шаг увеличения, предполагает увеличение текущего /-го значения количества кортежей в отношении в рК5° раз, где рК5° - /-е значение соответствующего множества коэффициентов рКв2, которое определяется параметрами проведения эксперимента; может быть различным в разных итерациях цикла.

Количество кортежей в подчиненном отношении на /-й итерации цикла определяется следующим образом:

с/ = Рсо • РК5/.

3) Цикл, задающий увеличение размера кортежа исследуемого отношения, выполняется на каждой итерации цикла для исследуемого отношения:

к = к_81аг1 1о к_Еп^

где к_81аг1 - исходное значение коэффициента изменения размера кортежа рКз«; k_End - конечное значение коэффициента изменения размера кортежа.

Текущее значение рКэ« определяет, во сколько раз размер добавляемых атрибутов исследуемого отношения изменяется по сравнению с начальным значением (определенным при создании отношения).

Размер кортежа Ь^ реструктурируемого отношения К на к-й итерации цикла определяется по формуле:

НКк = ^ •( 1 + рКз1),

, К

где «0 - начальный размер кортежа.

На каждой итерации цикла измеряется время выполнения запросов к исследуемой БД.

Предложенная модель включает следующие варианты сравнения полученных в результате исследования показателей:

ТТБ - соотношение времени сканирования исходного отношения и этого же отношения с измененным размером кортежа;

Т12Т1Б - соотношение времени сканирования соединения родительского и подчиненного отношений и родительского денормализованного отношения.

Т12Т2Б - соотношение времени сканирования соединения родительского и подчиненного отношений и подчиненного денормализованного отношения.

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

0_СЕАНС - для хранения информации о сеансе эксперимента;

0_С2 - для хранения данных о значениях количества кортежей в подчиненном отношении во время кон-

кретной итерации цикла по увеличению количества кортежей в родительском отношении;

0_С1 - для хранения данных о значениях количества кортежей в родительском отношении во время конкретного сеанса;

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

0_К - для хранения данных о значениях коэффициента изменения размера кортежа исследуемого отношения и времени выполнения соответствующих запросов на конкретной итерации цикла по увеличению количества кортежей в подчиненном отношении.

Между перечисленными объектами существуют следующие взаимосвязи:

- объект 0_СЕАНС находится во взаимосвязи «один ко многим» с объектом 0_С2, так как во время эксперимента может быть получено несколько значений 0_С2 для одного сеанса;

- объект 0_С2 находится во взаимосвязи «один ко многим» с объектом 0_С1, так как во время эксперимента может быть получено несколько значений 0_С1 для одного 0_С2;

- объект 0_С1 находится во взаимосвязи «один ко многим» с объектом 0_К, так как во время эксперимента может быть получено несколько значений 0_К для одного 0_С1.

На основании приведенных отношений между объектами создана служебная БД dbExp.

Отношение 8еаш соответствует объекту 0_СЕАНС, имеет ключевой атрибут, являющийся уникальным идентификатором сеанса.

Отношение 8еашС2 соответствует объекту 0_С2, имеет ключевой атрибут; внешний ключ для связи с отношением 8еаш; атрибут дс2 хранит текущее значение количества кортежей в отношении Т2; атрибут 1ш2 хранит время сканирования отношения Т2 при текущем количестве кортежей дс2.

Отношение 8еашС1 соответствует объекту 0_С1, имеет ключевой атрибут; внешний ключ для связи с отношением 8еашС2; атрибут дс1 хранит текущее значение количества кортежей в отношении Т1; атрибут 1ш1 хранит время сканирования отношения Т1 при текущем количестве кортежей дс1.

Отношение 8еашК соответствует объекту 0_К, имеет ключевой атрибут; внешний ключ для связи с отношением 8еашС1; атрибут ук хранит текущее значение коэффициента изменения размера кортежа реструктурируемого отношения; атрибут tш2d хранит время сканирования отношения Т2Б при текущем количестве кортежей дс2 и текущем значении размера кортежа отношения Т2Б; атрибут ^12 хранит время соединения отношений Т1 и Т2 при текущем количестве кортежей дс2 и дс1; атрибут хранит время сканирования

отношения Т1 при текущем количестве кортежей дс1 и текущем значении размера кортежа отношения Т1.

Схема данных dbExp приведена на рис. 2.

Л

рСБ

Входные параметры __

рСо

я

Библиотека возможных вариантов ^нормализации

Исследуемая

Экспериментальные отношения

ТХ

Множество запросов к БД

Компонент формирования структуры экспериментальных отношений

ня = К • (1 + рк$)

Компонент формирования содержимого экспериментальных отношений

С1 = рС? •

С] = РСо • Рк^

Компонент формирования и выполнения запросов к

исследуемой БД ш1 = /(С,1); ш2 = /(р));

ШЫ = /(С?;к{); tш2d = /(С);к));

Ш12 = / (С?; С ?)

Л

рКз _

Компонент формирования запросов к служебной БД

Служебная БД

Рисунок 3 - 0бщая схема имитационной модели

Общая схема имитационной модели для исследования эффективности денормализации реляционной БД приведена на рис. 3.

СТРУКТУРА ФАЙЛА С ПАРАМЕТРАМИ ПРОВЕДЕНИЯ ЭКСПЕРИМЕНТА

Файл е££лш (по умолчанию) является обычным текстовым файлом и может быть создан с использованием интерфейса программы или в текстовом редакторе.

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

С1 - исходное количество кортежей в родительском отношении;

С2 - исходное количество кортежей в подчиненном отношении;

К1 - множество коэффициентов увеличения количества кортежей в родительском отношении;

файл Цмич (ичиг Вид £лшн

[С]]

юоооо

[С2] 100000 [К1] 100 [КЕй 100 [К]

0,1 1 2 5|

Рисунок 4 - Заполненный файл параметров эксперимента

К2 - множество коэффициентов увеличения количества кортежей в отношении подчиненном;

К - множество коэффициентов изменения размера кортежа исследуемого отношения.

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

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

На рис. 4 приведен образец заполненного файла параметров проведения эксперимента. Из рисунка видно, что эксперимент проводится при двух значениях количества кортежей в отношении Т1 и двух значениях количества кортежей в отношении Т2, то есть рассматриваются четыре комбинации размера исследуемых отношений Т1 и Т2 соответственно: 105-105, 105-106, 106- 105, 106-106. Для каждой комбинации выполняет-

ся изменение размера кортежа исследуемого отношения в 1,1 раза, в 2 раза, в 3 раза, в 6 раз.

АНАЛИЗ РЕЗУЛЬТАТОВ ЭКСПЕРИМЕНТА

С ПРИМЕНЕНИЕМ ПРЕДЛОЖЕННОЙ

ИМИТАЦИОННОЙ МОДЕЛИ

Ниже приведено описание эксперимента для различных методов денормализации.

Можно выделить следующие методы денормализа-ции: нисходящая денормализация; восходящая де-нормализация; ввод повторяющихся групп; горизонтальная денормализация; вертикальная денормализа-ция; ввод производных данных; ввод суррогатного ключа; устранение связи 1:1 [5].

Требования к определению входных параметров и режим работы программы для различных методов де-нормализации приведены в табл. 1.

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

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

Эксперимент позволяет измерить время сканирования исходного подчиненного отношения ^2 и денор-

Таблица 1 - Правила определения входных параметров для различных методов денормализации

Метод денормализации Режим С1 С2 К1 К2 К

Нисходящая T12T2D #1 #2 #5 #5 #5

Восходящая T12T1D #1 #2 #5 #5 #5

Ввод повторяющихся групп T12T1D #1 #2 #5 #5 #5

Горизонтальная ГГО #3 #4 #6 не задается #5

Вертикальная ГГО #3 #4 #6 не задается #5

Ввод производных значений РГО #3 #4 #5 не задается #5

Ввод суррогатного ключа T12T2D #1 #2 #5 #5 #5

Устранение связи «1:1» T12T1D #1 #2 #5 #5 #5

Ссылки: #1 выбирается, исходя из существующего или возможного значения количества кортежей в родительском отношении #2 выбирается, исходя из существующего или возможного значения количества кортежей в подчиненном отношении #3 выбирается, исходя из существующего или возможного значения количества кортежей в исследуемом отношении #4 выбирается произвольно (не влияет на результат эксперимента) #5 может содержать различные коэффициенты #6 может содержать различные коэффициенты, позволяющие проверить поведение исследуемого отношения при разном размере его фрагментов

мализованного подчиненного отношения tш2d, а также время соединения отношений ^12.

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

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

Эксперимент позволяет измерить время сканирования исходного родительского отношения и денор-мализованного подчиненного отношения ^М, а также время соединения отношений ^12.

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

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

Эксперимент позволяет измерить время сканирования исходного родительского отношения и денор-мализованного родительского отношения ^Ы, а также время соединения таблиц ^12.

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

4. Горизонтальная денормализация. Уменьшение времени выполнения запросов может быть получено за счет уменьшения объема памяти, занимаемого каждой частью денормализуемого отношения.

Эксперимент позволяет измерить время сканирования исходного отношения при различных значениях количества кортежей в отношении.

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

5. Вертикальная денормализация. Уменьшение времени выполнения запросов может быть получено за счет уменьшения объема памяти, занимаемого каждой частью денормализуемого отношения.

Эксперимент позволяет измерить время сканирования исходного отношения и денормализованного отношения при различных значениях размера

кортежа в отношении и различных значениях количества кортежей.

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

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

Эксперимент позволяет измерить время сканирования исходного отношения и денормализованного отношения при различных значениях размера

кортежа в отношении.

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

7. Ввод суррогатного ключа. Уменьшение времени выполнения запросов может быть получено за счет уменьшения объема памяти, занимаемого подчиненным отношением после денормализации.

Эксперимент позволяет измерить время сканирования исходного подчиненного отношения и денормализованного отношения ^Ы, а также время соединения отношений ^12.

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

8. Устранение связи «один к одному». Уменьшение времени выполнения запросов может быть получено за счет устранения операции соединения между отношениями.

Эксперимент позволяет измерить время сканирования исходного родительского отношения и денормализованного отношения и время соединения отношений ^12.

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

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

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

РЕЗУЛЬТАТЫ ЭКСПЕРИМЕНТА

В табл. 2 представлены частичные данные о поведении БД, созданной в системе управления базами данных MS Access, полученные в результате проведения серии экспериментов в режиме T12T2D.

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

атрибута. Табл. 2 содержит сведения о количестве кортежей в исходном отношении qc1 и в подчиненном отношении qc2 соответственно, о коэффициенте vk, показывающем, во сколько раз размер добавленного атрибута больше размера кортежа исходного отношения, а также усредненные значения для времени сканирования денормализованного подчиненного отношения tm2d, времени сканирования исходного подчиненного отношения tm2 и времени выполнения операции соединения между исходными отношениями и tm12. Данные получены с помощью запроса к БД dbExp.

SELECT qc2, qcl, vk, Avg (tm2), Avg (tm2d), Avg (tm12)

FROM (seans INNER JOIN (seansC2 INNER JOIN seansCl ON seansC2.idc2 = seansC1.idc2)

ON seans.ids = seansC2.ids) INNER JOIN seansK ON seansCl.idcl = seansK.idcl GROUP BY qc2, qcl, vk

В качестве примера результата анализа поведения ИС после реструктуризации отношений БД представлены графики (см. рис. 5), построенные на основе данных из табл. 2 для исследования эффективности нисходящей денормализации.

Введем понятие эффективности устранения операции соединения в единственном запросе £join как отношение времени выполнения запроса с операцией соединения ко времени выполнения запроса со сканированием

Таблица 2 - Результаты эксперимента

.qcl qc2 vk Ср. знач. tm2d Ср. знач. tm2 Ср. знач. tm12 qc1 qc2 vk Ср. знач. tm2d Ср. знач. tm2 Ср. знач. tm12

1000 1000 0.25 0.0132 0.0155 0.0141 10000 50000 1.25 1.5852 0.7110 8.8610

1000 1000 0.5 0.0141 0.0155 0.0133 10000 50000 1.5 1.5852 0.7110 8.8610

1000 1000 0.75 0.0156 0.0155 0.0141 10000 50000 1.75 1.5844 0.7110 8.1882

1000 1000 1 0.0157 0.0155 0.0164 10000 50000 2 1.5890 0.7110 9.2336

1000 1000 1.25 0.0140 0.0155 0.0179 10000 100000 0.25 2.5016 1.5160 18.4320

1000 1000 1.5 0.0140 0.0155 0.0204 10000 100000 0.5 4.3391 1.4380 19.7679

1000 1000 1.75 0.0133 0.0155 0.0172 10000 100000 0.75 5.5125 1.5160 16.6859

1000 1000 2 0.0172 0.0155 0.0195 10000 100000 1 8.2703 1.4327 22.7860

1000 10000 0.25 0.1547 0.1250 0.8590 10000 100000 1.25 8.4898 1.5160 22.1125

1000 10000 0.5 0.1984 0.1250 1.0310 10000 100000 1.5 8.7898 1.4380 20.0258

1000 10000 0.75 0.1953 0.1250 0.7970 10000 100000 1.75 8.7703 1.5160 18.4008

1000 10000 1 0.3109 0.1250 0.9530 10000 100000 2 8.2797 1.4380 19.6336

1000 10000 1.25 0.3509 0.1250 0.7190 50000 100000 0.25 2.9640 1.7627 105.7517

1000 10000 1.5 0.3725 0.1250 0.6410 50000 100000 0.5 4.3750 1.7369 118.5603

1000 10000 1.75 0.3809 0.1250 0.7660 50000 100000 0.75 4.4805 1.7762 99.6186

1000 10000 2 0.3410 0.1250 0.9680 50000 100000 1 6.3235 1.7521 114.1672

10000 50000 0.25 0.8586 0.7110 10.3102 50000 100000 1.25 7.5875 1.7875 98.0344

10000 50000 0.5 0.9436 0.7110 10.3102 50000 100000 1.5 7.9870 1.7003 115.3261

10000 50000 0.75 1.0500 0.7110 8.3633 50000 100000 1.75 8.0757 1.6719 104.0023

10000 50000 1 1.2500 0.7110 8.3633 50000 100000 2 8.1937 1.6973 113.3766

iu

35

- -

~~ —

и

0.25 0.5 0.7 5

1.25 15 1.75

1000-10000 № II -50000-100000 Щ0||

1000-10000 ВСЛI — —50000-100000 ВСЛI

Рисунок 5 - Соотношение времени выполнения запросов

подчиненного

отношения

реструктурированного Е = Ш12

Введем также понятие эффективности изменения структуры отношения для единственного запроса £зсап как отношение времени выполнения запроса на сканирование исходного отношения ко времени выполнения запроса со сканированием реструктурированного £ш2 й

отношения Б„

tm2

Графики на рис. 5 представляют зависимость £|°;п (сплошная линия) и £зсап (пунктирная линия) от значения коэффициента К, определяющего во сколько раз размер (в байтах) добавленных атрибутов больше размера исходного кортежа, при различных количествах кортежей в исследуемых отношениях (103 в родительском отношении и 104 в подчиненном отношении -светлая линия, 5 • 104 в родительском отношении и 105 в подчиненном отношении - темная линия).

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

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

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

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

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

ВЫВОДЫ

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

ПЕРЕЧЕНЬ ССЫЛОК

1. Принятие решения о денормализации. - Режим доступа: http://lavsoft.webhost.ru/oracle/book/dezdb/04/ 04.html. - Название с экрана.

2. Кунгурцев А. Б. Анализ целесообразности реструктуризации базы данных методом введения нисходящей денормализации / Кунгурцев А. Б., Зиноватная С. Л. -Тр. Одесск. политехн. ун-та. Одесса, 2006. - 1(25). -С. 104-108.

3. М. Ф. Гарсиа. Справочник администратор Microsoft SQL Server 2000. 2-е изд. / Пер с англ. / М. Ф. Гарсиа, Дж. Рединг, Э. Уолен, С. А. ДеЛюк. - М.: Издательство «СП ЭКОМ», 2004. - 976 с.

4. Зиноватная С. Л. Анализ информационной системы для принятия решения о выполнении восходящей денормализации // Холодильная техника и технологии. Сборник научных трудов IV семинара «Информационные системы и технологии». - Одесса, 2006. - С. 14-18.

5. Кунгурцев А. Б. Модель реструктуризации реляционной базы данных путем денормализации схемы / Кунгурцев А. Б., Зиноватная С. Л. - Тр. Одесск. политехн. ун-та. - Одесса, 2006. - 2(26). - С. 105-111.

Надшшла 27.11.2007 Шсля доробки 19.03.2008

Рекомендуеться виконувати денормал1защю схеми в1д-носин тсля ретельного тестування продуктивност1 1нформащйно1 системи. Запропоновано 1м1тацшну модель для тестування поводження системи в умовах засто-сування р1зних вар1ант1в денормал1зацп. На основ1 модел1 реал1зований програмний тструмент, що дозволяе досл{д-

xyeamu 6a3u danux, cmeopeni 3 euKopucmaHHMM pÍ3Hux cucmeM Kepyeannx 6açaMu danux.

It is recommended to execute denormalization of relations scheme after the careful testing of the information system productivity. A simulation model for testing of the system conduct in the conditions of application of different denormalization variants is offered. On the basis of this model a program instrument is realized to allow to probe databases, created with the use of the different database management systems.

681.51:622.788

В. Й. Лобов, С. А. Рубан

РОЗРОБКА ПРИНЦИП1В КЕРУВАННЯ ТЕМПЕРАТУРНИМ

РЕЖИМОМ ПРОЦЕСУ ВИПАЛЮВАННЯ КОТУН1В З ВИКОРИСТАННЯМ ПРОГНОЗУЮЧИХ ANFIS-МОДЕЛЕЙ

Запропоновано принцип керування температурним режимом процесу випалювання котутв на конвеернш маши-т з використанням прогнозуючоЧ ЛИ¥1Б-модел1.

ВСТУП

В1домим е факт, що зб1льшення продуктивности тдвищення якост готово! продукцп та зменшення пи-томо'1' витрати енергоноспв можна досягти за рахунок удосконалення автоматизованих систем управлшня технолопчними процесами (АСУ ТП). Одним з най-перспектившших напрямюв розвитку АСУ ТП прни-чо-збагачувальних комбшапв е використання теорп керування на основ1 прогнозуючих моделей (Model Predictive Control, MPC), що забезпечують висою адаптивш властивост та можлив1сть квазюптимально-го керування нелшшними об'ектами в режим1 реального часу з урахуванням обмежень на керуюч1 i вихщш змшш [1, 2]. В базовому варiантi MPC в якосп моделi об'екту керування використовуеться лшшна дискретна модель у просторi сташв [2]. Однак в^омо, що для бтьшосп технолопчних процеив гiрничо-збагачуваль-них комбiнатiв, зокрема i для процесу температурно! обробки котушв на конвеeрнiй випалювальнiй машиш, достатньо складно отримати адекватну математичну модель. Це пов'язано з багатомiрнiстю та стохастични-ми властивостями об'екив керування, нестацiонар-нiстю, наявнiстю великих часових затзнень, немож-ливiстю безперервного контролю окремих технолопчних показниюв [3, 4]. Тому для виршення ще! проб-леми можуть бути використанi нелiнiйнi багатомiрнi математичнi модел^ зокрема нейромережевi та нечiткi.

© Лобов В. Й., Рубан С. А., 2008

Так, в робот1 [1] в cxeMi MPC використовуеться лшшна дискретна модель у npocTopi сташв, яка знаходить-ся з наслщюв нeчiткиx правил типу Такап - Сугено прямим способом. В робоп [5] запропоновано для про-гнозування пoказникiв процесу збагачення використо-вувати нeйpoмepeжeвi мoдeлi NNARX (нейромережева автopeгpeciйна модель, екзогенний тип cигналiв) та NNOE (нейромережева модель помилки виходу).

Для отримання високих показниюв якосп кoтунiв при забезпеченш pecуpcoзбepiгаючo'i тexнoлoгi'i не-oбxiднo забезпечити бажаний poзпoдiл температур уз-довж випалювально'' машини шляхом cтабiлiзацii' тем-ператури в кoжнiй газoпoвiтpянiй камерь Регулювання температури кoтунiв в piзниx зонах випалювально'' машини здшснюеться шляхом змiнeння кiлькocтi тепло-ноая, що фiльтpуeтьcя через шар. Наприклад, розгля-немо зону сушки 2. В цю зону газ-теплоносш з температурою 900-1000 °С надходить прямим перетоком iз зони охолодження 1. Задане значення температури на вxoдi в шар (350-450 °С) пiдтpимуeтьcя за рахунок розбавлення теплоноия холодним пoвiтpям iз зони охолодження 2, що подаеться через бiчнi форкамери. Змiнeння витрати холодного повиря дозволяе також компенсувати збурення, пов'язаш зi змiнами висоти шару котушв, швидкосп вiзкiв випалювально'' машини, температури та тиску теплоноия, що надходить в зону сушки 2 iз зони охолодження прямим перетоком [6].

В кнуючих системах автоматизацп стабШзащя температури в газопов^ряних камерах зони сушки 2 здшснюеться шляхом змшення витрати холодного по-

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