Оценка времени выполнения подзапросов к реляционным базам данных

Вычислительные технологии Том 5, № 4, 2000

ОЦЕНКА ВРЕМЕНИ ВЫПОЛНЕНИЯ ПОДЗАПРОСОВ К РЕЛЯЦИОННЫМ БАЗАМ ДАННЫХ

А. Д. ПЛУТЕНКО Амурский государственный университет, Благовещенск, Россия

e-mail: plutenko@amursu.ru

A mathematical apparatus of the time characteristics of execution of subqueries to relational databases has been suggested.

Введение

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

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

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

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

1. Преобразование Лапласа в форме интеграла Стилтьеса

Для оценки временных характеристик использованы известные свойства преобразования Лапласа в форме интеграла Стилтьеса (далее преобразование Лапласа — Стилтьеса) и производящей функции [3].

© А. Д. Плутенко, 2000.

Преобразование Лапласа — Стилтьеса функции распределения вероятностей случайной величины

Ф

./о

где Г(£) — функция распределения вероятностей случайной величины £.

Свойства преобразования Лапласа — Стилтьеса:

1. Ф

где Ф(п) (0) — п-ая производная Ф(з) при 5=0, М(£п) — п-ый начальный момент случайной

величины £, М(£) — математическое ожидание.

к

2. Пусть £ = ^2 £ — сумма независимых случайных величин, тогда имеет место равен-

*=1

ство

к

ФМ = Г[ФЛ»),

* =1

где Ф(й) — преобразование Лапласа — Стилтьеса случайной величины £, ФДй) — преобразование Лапласа — Стилтьеса случайной величины £^ г = 1, к.

Производящая функция дискретной случайной величины £ с целыми неотрицательными значениями:

ГО ОО

Г

i=0 i=0

где pi — вероятность того, что случайная величина £ равна 1.

Свойства производящей функции:

1. Имеют место равенства

Г

Г

где Г(га)^) — п-ая производная Г^) в точке z, Р(£ = п) — вероятность того, что случайная

величина £ равна п .

к

2. Пусть £ = ^2 £ — сумма независимых случайных дискретных величин, тогда имеет

І= 1

место равенство

к

вд = пвд,

i=1

где Г(z) — производящая функция случайной величины £, Г^) — производящая функция случайной величины £i, г = 1, к.

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

Г^) =

где р — вероятность попадания (успешного испытания), N — число испытаний.

к

3. Пусть £ = ^2 £ , где независимые случайные дискретные величины ^ имеют оди-

І=1

наковые распределения вероятностей с производящей функцией и^) , а к — случайная

дискретная величина с производящей функцией 7^) . Тогда для производящей функции

Г^) случайной величины £ справедливо равенство

ВД = 7

4. Если £ — случайное число заявок с производящей функцией 7^) , а в(з) — преобразование Лапласа — Стилтьеса времени обработки одной заявки, то преобразование Лапласа — Стилтьеса времени обработки заявок будет равно

ф

2. Оценка времени обработки подзапросов

Введем некоторые обозначения.

1. Пусть Ai — множество атрибутов таблицы (отношения) Ri , которые входят в условие (предикат) Fi i-го подзапроса, i = 1,n.

В общем случае на атрибуты Ai в условии поиска Fi накладываются ограничения, которые могут изменяться при разных обращениях к запросу. Например, в условии может использоваться переменная (например, price <=: v1).

2. aij — атрибут из множества Ai , т. е. Ai = {aij}j. По определению {aij}j = |aii, ai2, •••}.

3. |bijfc}k — те значения атрибута aij, которые удовлетворяют соответствующему элементарному условию по aij в предикате Fi . Ясно, что {bijk}k С Dij = {dijm}m , где Dij — домен (множество значений) атрибута aij в таблице Ri. |Dij | = Iij — мощность домена.

4. nijm — вероятность того, что атрибут какого-нибудь кортежа (записи) таблицы Ri

принимает значение dijm, ^2 Vijm = 1 .

m=1

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

Для записей из таблиц {Ri} будем считать независимыми в совокупности события

{aij dijm '}ijm •

5. Gi(z) — производящая функция числа записей в таблице Ri .

Найдем преобразование Лапласа — Стилтьеса времени чтения блоков индексов по тем атрибутам из Ai, для которых при выполнении подзапроса используются индексы.

Лемма 1. Преобразование Лапласа — Стилтьеса для времени чтения блоков нижнего уровня по всем используемым в подзапросе индексам таблицы равно:

Ti

j€Ni

где Ni — множество тех атрибутов из Ai , для которых при выполнении подзапроса используются индексы, 8ij (s) — преобразование Лапласа — Стилтьеса времени чтения одного блока нижнего уровня индекса по атрибуту aij, 9ij (z) — производящая функция читаемых блоков индекса по атрибуту aij.

Если множество элементов {<Лут}т&щ домена Ду после упорядочивания образуют последовательность смежных значений, то

@гЗ

где

\^ Ш?

Руо =

г=(к-1)<й, + 1

— {т\йг^т ^ {Ь^к }к}

qij — максимальное число записей в блоке нижнего уровня индекса по атрибуту ау.

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

Из (16) следует, что Му — это множество номеров значений в домене Ду, которые удовлетворяют элементарному условию по атрибуту ау. Тогда Ху = ^2 Пут — это веро-

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

N V тС Мг^ I V тСМ^ I

здесь piN — вероятность того, что число записей в таблице Яг равно N, С (г) — произво-

дящая функция числа записей в таблице Яг.

Пусть элементы {^ут}т&м^ после их упорядочивания образуют последовательность

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

ютттих записей таблицы ^ последовательно хранятся в соседних строках. Тогда вероятность Рук, что идентификаторы записей (ИОШГО) хранятся в к > 1 блоках нижнего уровня индекса равна вероятности того, что число записей, удовлетворяющих элементарному условию поиска, лежит в интервале [(к — 1)qij + 1, kqij], qij — максимальное число записей в блоке нижнего уровня индекса по атрибуту ау . Учитывая (6), получим (14).

Из (10) следует, что преобразование Лапласа — Стилтьеса времени чтения блоков индекса по атрибуту ау равно

Учитывая (18) и (3), получим преобразование Лапласа — Стилтьеса (12) для суммы времени чтения блоков индексов нижнего уровня по всем используемым в подзапросе индексам таблицы Яг.

Доказательство леммы 1 завершено.

Для обычного В-дерева величину ду в (14) можно оценить по формуле:

^ размер блока нижнего уровня индекса

размер идентификатора записи + длина поля ау записи

В общем случае, если множество элементов {^ут}т£м^ домена Ду после упорядочивания не образуют последовательность смежных значений, то производящую функцию читаемых блоков индекса по атрибуту ау можно найти с помощью следующей формулы:

к=1

где Су — число участков смежных элементов {^ут}т&м^ после их упорядочивания, бук(г) — это функция, которая совпадает с (13); в этом случае следует использовать множество Мук номеров т тех доменов ^ут, которые попали в к-ый участок смежных элементов, а также производящую функцию Жук (г) числа записей со значениями атрибу-

С1]

та связи, попавшими в этот к-ый участок, Жу (г ) = П ^гзк(г)-

к=1

Найдем теперь преобразование Лапласа — Стилтьеса времени чтения блоков таблицы Яг с записями, удовлетворяющими условию поиска

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

При доказательстве леммы 1 была определена вероятность того, что запись таблицы Яг удовлетворяет элементарному условию поиска по атрибуту ау в предикате .р:

Xij

Vijm

В частности, из (21) следует, что если вероятности nnjm одинаковы, то

\Mij \

Xj=ш

где \Ыу\ — мощность множества Ыу (16), а \Dy\ — мощность домена Dy. Элементарные условия по атрибутам {ау }j в F могут быть связаны различными логическими условиями: AND, OR и, возможно, NOT. Для расчета вероятности Хг можно воспользоваться

рекуррентной процедурой, которая описана в виде таблицы.

Таблица

m£Mij

Условие Вероятность

усл. 3 = усл. 2 AND усл. 1 Русл. 3 — Русл. 1 * Р усл. 2

усл. 3 = усл. 2 OR усл. 1 Русл. 3 — Русл. 1 + Русл. 2 Русл. 1 * Русл. 2

усл. 2 = NOT усл. 1 Русл. 2 = 1 Русл. 1

Здесь Русл.1, Русл. 2, Русл.з — это вероятности того, что запись таблицы Яг удовлетворяет соответствующему условию. Первоначально “усл. 1” и “усл. 2” в правой части равенств первого столбца таблицы — это элементарные условия в Рг, а Русл. 1 и Русл. 2 — это вероятности, вычисляемые с помощью выражения (21).

Следует отметить, что Хг не зависит от числа записей N в таблице Д, т.к. от N не зависят вероятности х%з (см. (21)).

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

) = X Ргм

N

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

Лемма 2. Преобразование Лапласа — Стилтьеса времени чтения блоков таблицы Дг с записями, удовлетворяющими условию поиска ^, имеет вид

= ТгШ^)),

где вг(э) — преобразование Лапласа — Стилтьеса времени чтения одного блока таблицы Дг, 'Уг (^) — производящая функция читаемых блоков таблицы Дг.

Если записи, удовлетворяющие условию поиска Гг, располагаются в блоках таблицы Дг последовательно (в соседних строках), то

7,М = *

к=1 \1=(к-1)п + 1  У

здесь ^г(г) определяется выражением (23), гг — максимальное число записей в блоке таблицы Дг.

Лемма 2 доказывается аналогично лемме 1.

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

Ог

7г(^) = П ^к(26) к=1

где Ог — число участков записей; каждый участок включает записи, удовлетворяющие условию поиска ^ и располагающиеся в блоках таблицы Дг в соседних строках, 'Угк(г) — это функция, которая совпадает с (25); в этом случае следует использовать производящую функцию Угк(^) числа записей, удовлетворяющих условию поиска ^ и принадлежащих к-

Ог

ому участку, Уг(г) = П ^к(^).

к=1

Величину гг в (25) можно оценить по формуле:

размер блока файла таблицы

Гг = ------------------------------------------------£-

средняя длина записи таблицы

Теорема. Для преобразования Лапласа — Стилтьеса времени выполнения запроса Qi справедливо следующее выражение:

Т

где N — множество тех атрибутов из Аг , для которых при выполнении подзапроса используются индексы, 8у (з) — преобразование Лапласа — Стилтьеса времени чтения одного блока нижнего уровня индекса по атрибуту агу , 9у (г) — производящая функция читаемых блоков индекса по атрибуту ау, которая определяется выражением (13) или (21), вг(з) — преобразование Лапласа — Стилтьеса времени чтения одного блока таблицы Дг, 'Уг(г) — производящая функция читаемых блоков таблицы Дг, которая определяется выражением (25) или (26).

Утверждение теоремы следует из формул (12) и (24), полученных при доказательстве лемм 1 и 2, и свойства (3) преобразования Лапласа — Стилтьеса.

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

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

[1] Авен О. И., Гурин Н. Н., Коган Я. А. Оценка качества и оптимизация вычислительных систем. Наука, М., 1982.

[2] Советов Б. Я., Яковлев Моделирование систем. Высшая школа, М., 1999.

[3] Кениг Д., Штойян Д. Методы теории массового обслуживания. Радио и связь, М., 1981.

Поступила в редакцию 24 апреля 2000 г.