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

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

CC BY
70
12
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КОЭФФИЦИЕНТ МАТЕРИАЛИЗАЦИИ / COEFFICIENT OF MATERIALIZATION / МАТЕРИАЛИЗОВАННОЕ ПРЕДСТАВЛЕНИЕ / MATERIALIZED VIEW / ОЦЕНКА ЗАПРОСОВ / QUERY EVALUATION

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Новохатская Е. А.

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

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

CALCULATING THE MATERIALIZATION FACTOR IN QUERY EVALUATION DURING THE MAINTENANCE OF MATERIALIZED VIEWS

In this paper we propose a criterion for selecting the queries to materialize that takes into consideration the timing and statistic indices of query execution. The resulting numerical coefficient covered such important indicators of query execution as the amount of resources consumed during formation of the result, frequency of query occurrence in the information system as well as the refresh rate of base tables. The latter figure would eliminate the creation of materialized views which require a significant number of database computational resources. Since the coefficient is calculated based on the transaction log data, it can be used for finding queries which are candidates to materialize when the query execution time within the existing materialized view is not known yet.

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

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

УДК 004.658.2

Е.А. НОВОХАТСКАЯ

Одесский национальный политехнический университет

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

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

Ключевые слова: коэффициент материализации, материализованное представление, оценка запросов.

К.А. НОВОХАТСЬКА

Одеський нацюнальний пол^ехшчний ушверситет

РОЗРАХУНОК КОЕФЩ1СНТА МАТЕР1АЛ1ЗАЦП ПРИ ОЦ1НЦ1 ЗАПИТ1В ДЛЯ ОБСЛУГОВУВАННЯ МАТЕР1АЛ1ЗОВАНИХ ПРЕДСТАВЛЕНЬ

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

Ключовi слова: коефщент матерiалiзацiï, матерiалiзоване представлення, оцтка запитiв.

K.A. NOVOKHATSKA

Odessa National Polytechnic University

CALCULATING THE MATERIALIZATION FACTOR IN QUERY EVALUATION DURING THE

MAINTENANCE OF MATERIALIZED VIEWS

In this paper we propose a criterion for selecting the queries to materialize that takes into consideration the timing and statistic indices of query execution. The resulting numerical coefficient covered such important indicators of query execution as the amount of resources consumed during formation of the result, frequency of query occurrence in the information system as well as the refresh rate of base tables. The latter figure would eliminate the creation of materialized views which require a significant number of database computational resources. Since the coefficient is calculated based on the transaction log data, it can be used for finding queries which are candidates to materialize when the query execution time within the existing materialized view is not known yet.

Keywords: coefficient of materialization, materialized view, query evaluation.

Постановка проблемы

Одним из способов повышения производительности работы СУБД является использование материализованных представлений (МП). Они представляют собой предварительно вычисленные и сохраненные на диск результаты выполнения запросов. МП позволяют сократить время выполнения

запросов за счет снижения числа обращений к физической памяти и устранения операций сортировки и объединения.

Выбор запросов-кандидатов на материализацию является одной из важных задач в области автоматизации МП [1]. В первую очередь ее нетривиальность обусловлена вычислительной сложностью. Для поиска запросов-кандидатов на материализацию необходимо проанализировать журнал транзакций за длительный период времени и выбрать запросы, согласно нескольким критериям. Данные критерии связаны с синтаксической схожестью запросов, а также с временными и статистическими показателями выполнения запросов.

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

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

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

Анализ последних исследований и публикаций

В работах [3-4] впервые предложена технология создания и обслуживания МП. В том числе сформулированы критерии выбора запросов-кандидатов на материализацию. Для оценки запроса вводится понятие его стоимости, которое определяется как суммарное время выполнения всех одинаковых запросов:

и*

^ = £ Т (гк1),

1=1

где Ык - количество появлений запроса 2к;

Т(2к) - время выполнения запроса 2к в его 1-ое появление в системе;

к=1,К - мощность множества входных запросов.

Эффективность МП рассчитывается как разность суммарной стоимости выполнения запросов без применения МП и с его применением:

1 = ^ - {$МПк + $ОБН к ))- $ ДОП ,

к=1

где БМП к - стоимость запроса 2к при использовании МП;

$обн к - стоимость обновления МП, созданного на основе запроса 2к;

$доп - дополнительные затраты ресурсов на обслуживание МП.

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

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

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

Формулировка цели исследования

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

Изложение основного материала исследования

Пусть в результате анализа журнала транзакций информационной системы за некоторый продолжительный период времени T было сформировано множество неуникальных запросов разных типов (SELECT, INSERT, UPDATE, DELETE) с указанием времени их выполнения и затраченных ресурсов:

Q = U q < text, т, b >,

где text - текст запроса;

т - время выполнения запроса;

b - суммарное число блоков данных, прочитанных с диска или буфера и обработанных СУБД для формирования результата.

Сформулируем следующие критерии выбора запроса-кандидата на материализацию:

- время выполнения запроса стремится к максимуму;

- частота выполнения запроса стремится к максимуму;

- число ресурсов, затраченных при выполнении запроса, стремится к максимуму;

- частота обновления базовых таблиц (БТ) стремится к минимуму.

Рассчитаем статистику обновления БТ. Для этого из мультимножества Q выделим запросы типа

INSERT, UPDATE и DELETE:

qa = qins U Q upd

UQ

del '

где Qins, Qupd, Qdel - мультимножества запросов вида INSERT, UPDATE, DELETE соответственно.

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

N д

Qa = U qдi < text, т, b, T, Ctype >,

i=1

где

NqA = IQJ - число запросов qA; T = {Tj}, j =1,NT - множество таблиц, участвующих в запросе qAi; NT - количество таких таблиц;

Ctype = {I, U, D} - тип операции (INSERT, UPDATE или DELETE).

На основании каталога таблиц СУБД составим словарь пользовательских таблиц V, каждая запись которого будет описана двойкой вида {Tv, fA}, где Tv - имя таблицы, fA - число обновлений данной таблицы.

Опишем алгоритм расчета статистики обновления БТ. Для каждого запроса qAi, i=1, NqA и таблицы

Тр j =1,NT найдем соответствующую запись в словаре таблиц Г'и инкрементируем значениеfA (рис. 1).

; начало

Qj=Uq^{text r.b.T Ctype}

i=l-No.

/ \ , -ш,

\ к /

J

Е1ыжм

с CHI ИГ 1И kit

обновления БТ

! конец

Рис.1. Схема алгоритма расчета статистики обновления БТ

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

Шаг 1. Выделение запросов вида SELECT

Т.к. МП создаются только для запросов вида SELECT, коэффициент K имеет смысл рассчитать только для них.

Выделим множество неуникальных запросов типа SELECT из мультимножества Q:

QS = U Vs, < text,T^b >

'S

i=1

где NqS = /QS/ - число запросов вида SELECT. Шаг 2. Подготовка запросов к анализу.

Для каждого запроса qsi, i=1..NQS мультимножества QS выполним следующие действия:

- удаление комментариев;

- замена числовых констант на шаблон "@NUMBER";

- замена строковых констант и дат на шаблон "@LITERAL";

- замена переменных на шаблон "@BINDING";

- удаление псевдонимов таблиц.

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

Шаг 3. На основании мультимножества QS, содержащего неуникальные запросы, сформируем уникальное множество QUS:

QUS = U qUSi < text, TUS , CUC ,n >,

i=1

где NqUS - число уникальных запросов qUS вида SELECT;

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

n - число вхождений qUS запроса в мультимножество QS;

TUS - суммарное время выполнения запроса qUS за n выполнений;

cUS - стоимость выполнения запроса qUS. Рассчитывается, как суммарное число блоков данных bUS, прочитанных СУБД с диска или буфера при выполнении запроса qUS n-раз. Для удобства данное значение будет использовано в процентном соотношении от общего числа потребленных ресурсов:

n

Z bUS

C = j=1_

UC N '

QS

Z b i = 1

Шаг 4. Для каждого запроса qUS проанализируем фразу FROM и выделим имена таблиц, участвующих в запросе:

QUS = U qUSi < text, TUS , CUS ,n, TUS >,

1=1

где Тиз = {Тиз-},} =1,№ти5 - множество таблиц, участвующих в запросе диБ; МТиз - количество таких таблиц.

Для каждой таблицы Тиз- найдем соответствующую ей запись уиз в словаре пользовательских таблиц V:

{Уиз < Ту,/А>\Т = Тщ, Уизе V}. Для запроса диБ выберем максимальное значение/а:

^из = МАХ^ (^),

О-иБ = и Уия < , сш,п, Тш, ^диз > •

1=1

В дальнейших вычислениях будет использоваться максимальное значение /а, т.к. при

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

Таким образом, имеет смысл использовать значение /а, соответствующий наиболее часто обновляемой таблице.

Шаг 5. Рассчитаем коэффициент К по следующей формуле:

kus -

'us^us'

F ' (!)

1 aus

Шаг 6. Приведем запрос qUS к результирующему виду.

nqus

QUS - U qUS, < text, Ka US >.

i-1

Проанализируем итоговое выражение (1) для коэффициента K. В числителе формулы находятся время выполнения запроса tus, его стоимость cUS и число появлений в системе n, в знаменателе - частота обновления БТ FAUS. В общем случае, tus и cUS - прямо пропорциональные величины, поэтому их произведение можно оцениваться как единый показатель.

Рассмотрим различные комбинации значений tus, cUS и n, при которых коэффициент K будет стремиться к максимуму (K ^тах), т.е. соответствующие запросы будут материализованы, при условии, что FAUS стремится к минимуму (FAUS ^min):

1. tus * cUS ^тах, n^min.

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

2. n ^тах, tus * cUS ^min.

Запросы, которые выполняются предельно часто, но не потребляют большого числа вычислительных ресурсов, так же попадают в кандидаты на материализацию. Данная группа менее приоритетна с точки зрения создания МП, однако ее материализация позволит в целом повысить производительность работы ИС.

3. n ^avg, Tus * Cus ^avg.

Данное условие покрывает наиболее важную и объемную группу запросов, которые подпадают под критерии материализации. Это запросы со средним значением частоты появления в системе и затрат ресурсов. Именно оптимизация данной группы запросов обычно наиболее существенно влияет на общую производительность ИС.

4. n ^тах, tus * cus ^max.

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

Также рассмотрим пограничные значения показателей tus, cus и n, при которых запросы не будет материализованы:

1. n ^0.

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

2. tus * cus ^0

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

Последнее условие, которое должно быть рассмотрено - FAUS^max. Большие значения FAUS снижают ценность запроса с точки зрения материализации, что обусловлено затратами ресурсов на обновление МП. При FAUS^max запросы материализованы не будут. Это утверждение соответствует одному из сформулированных критериев выбора запросов-кандидатов на материализацию.

Таким образом, были покрыты все сформулированные ранее критерии выбора запросов-кандидатов на материализацию.

Описание эксперимента

Для проведения эксперимента был использован журнал транзакций СУБД, содержащий более 2000 неуникальных запросов. В результате выделения из журнала уникальных запросов было получено 495 записей. Пример распределения коэффициента материализации K в зависимости от значений т, с и FA представлен на рис. 2.

Рис. 2. Пример распределения коэффициента кластеризации для журнала транзакций исследуемой СУБД

Выводы

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

Список использованной литературы

1. Новохатская Е.А. Методика генерации функций обновления в методе инкрементального обновления материализованных представлений / Е.А. Новохатская, Ю.Н. Возовиков // Вестник СумГУ. Серия «Технические науки». - №3, 2011. - С. 82-96.

2. Новохатская Е.А. Формирование лексем при группировке запросов в методе инкрементального обновления МП / Е.А. Новохатская, А.Б. Кунгурцев // Вестник ЧГТУ. Серия «Технические науки». №1 (71), 2014. - С. 193-199.

3. Кунгурцев А.Б. Анализ возможности применения материализованных представлений в информационных системах / А.Б. Кунгурцев, Куок Винь Нгуен Чан // Пращ ОПУ. - 2003. -№ 2(20). - С. 102-106.

4. Кунгурцев А.Б. Сравнение запросов в реляционных базах данных для построения материализованных представлений / А. Б. Кунгурцев, Куок Винь Нгуен Чан, Блажко А.А. // Пращ УНД1РТ. - Одесса. - 2004. - № (39). - С. 35-38.

5. Кунгурцев А.Б. Поддержка эффективности механизма управления материализованными представлениями / А.Б. Кунгурцев, Ю.Н. Возовиков // Електротехшчш та комп'ютерш системи -2011. - № 4. - С. 136-140.

6. Кунгурцев А.Б. Технология создания материализованных представлений для реляционных баз данных / А.Б. Кунгурцев, Ю.Н. Возовиков // Пращ ОПУ - 2012. - № 2. - С. 170-176.

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