Научная статья на тему 'Метод оценки времени выполнения запросов SQL к реляционным базам данных'

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

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

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Ю А. Григорьев, А Д. Плутенко

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

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

The article presents a new mathematic apparatus that estimates the time necessary for the execution of queries SQL to the distributed databases. The new apparatus takes into account the decomposition procedures of queries into sub-queries and the join of the results of their execution. The parameters of logical scheme and the random character of the databases features are also considered.

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

Рисунок 3 - Ошибки прогнозирования

Анализ показывает, что в среднем объединенный прогноз имеет меньшие ошибки, чем любой из прогнозов отдельных сетей. Это подтверждается и сравнением относительных ошибок прогнозирования: для входящих сетей eANNi = 11.89%, eANN2 = 24.66%, = 15.37%, eANN4 =

=12.98%; для объединенного прогноза eensemble= 11.74%.

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

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

1. Hansen L.K., Salamon P. Neural network ensembles // IEEE Trans. on Pattern Analysis and Machine Intelligence. - 1990. -12. - P. 993-1000.

2. Bishop C.M. Neural Networks for Pattern Recognition. -Oxford: Clarendon Press, 1995. - 482 p.

3. Sharkey A.J.C. On combining artificial neural nets // Connect. Sci. - 1996. - 8. - N. 3, 4. - P. 299-313.

4. Hashem S. Effects of collinearity on combining neural networks// Connect. Sci. - 1995. - 7. - N. 3, 4. - P. 211-245.

5. Opitz D.W., Shavlik J.W. Actively searching for an effective neural network ensemble // Connect. Sci. - 1996. - 8. - N. 3, 4. - P. 337-353.

6. Rojas R. Neural Networks. A Systemstic Introduction. - Berlin: Springer Verlag, 1996. - 502 p.

7. Hashem S. Optimal linear combination of neural networks // Neural Networks. - 1997. - 10. - N. 4. - P. 599-614.

8. Naftaly U., Intrator N., Horn D. Optimal ensemble averaging of neural networks //Network: Comput. Neural Syst. - 1997. -8. - P. 283-296.

9. Haykin S. Neural Networks. A Comprehensive Foundation. -Upper Saddle River, N.J.: Prentice Hall, Inc., 1999. - 842 p.

10. Бодянский E.B. Автоматическое обнаружение разладок с помощью искусственной нейронной метасети // Проблемы бионики. - 1998. - Вып. 49. - С. 34-38.

11. Bodyanskiy Ye., Vorobyov S., Stephan A. Detection of NARMA sequence order using recurrent artificial neural networks // Proc. of European Control Conference ECC'99. - Karlsruhe, Germany, 1999. - CD-ROM.

12. ftp://ftp.cs.colorado.edu/pub/cs/energy-shootout/

УДК 681.32

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

Ю.А.Григорьев, А.Д.Плутенко

The article presents a new mathematic apparatus that estimates the time necessary for the execution of queries SQL to the distributed databases. The new apparatus takes into account the decomposition procedures of queries into sub-queries and the join of the results of their execution. The parameters of logical scheme and the random character of the databases features are also considered.

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

ВВЕДЕНИЕ

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

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

В работах [4-6] предлагаются методы оценки стоимостных характеристик различных способов соединения таблиц (NLJ, SMJ, HJ), используемых при выполнении запросов к базе данных. К сожалению, здесь не учитывается случайных характер параметров соединяемых таблиц, т. е. расчеты ведутся на уровне средних значений. К тому же не показано, как можно получить исходные данные для расчетов характеристик соединения промежуточных таблиц, получаемых при реализации оптимального плана выполнения исходного запроса к базе данных.

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

1. ОРГАНИЗАЦИЯ ОБРАБОТКИ ЗАПРОСОВ SQL

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

1. Исходный запрос преобразуется в формулу реляционной алгебры (явно или нет). Известно, что оператор SELECT языка SQL может быть представлен в виде следующей формулы реляционной алгебры [7]:

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

Q = Qi. x Qu Х...Х Qi ,

(3)

здесь Qi

промежуточная таблица, полученная при

nA (of( R1 X R2 X...X Rn)),

(1)

где (Ri X R2 X...X Rn) - декартово произведение отношений (таблиц), указанных за ключевым словом FROM оператора SELECT;

Of - операция селекции кортежей декартова произведения в соответствии с условием F, указанным за ключевым словом WHERE;

К A - проекции селекции на множество атрибутов A,

которые перечисляются за ключевым словом SELECT.

2. Эта формулу оптимизатор улучшает. Смысл улучшения заключается в перемещении операций селекции и проекции внутрь декартова произведения на основе законов реляционной алгебры и некоторых правил, сформулированных в [7]. В результате формула (1) преобразуется к виду:

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

Из (3) следует, что оценка времени выполнения запроса сводится к получению оценок времени обработки подзапросов Qk и построению рекуррентной математической процедуры оценки времени выполнения соединений. Введем некоторые обозначения.

1. Пусть - множество атрибутов таблицы (отношения) , которые входят в условие (предикат) ^ г-го

подзапроса в (2), г = 1, п . В общем случае на атрибуты Лг в условии поиска накладываются ограниче-ния, способные изменяться при разных обращениях к запросу. а. - атрибут из множества Л{, т. е. Л{ = {аг.}.. По

определению {а.}. = {а{ 1, а{2, ...} .

nA(o -(п - (of (R1)) X п - (of (R2)) X ...)). (2) 2. {bijk}k - те значения атрибута ay , ^торьге удовлет-F A - 1 A - 2

Здесь F = F and F1 and ... and Fn, F - исходное условие поиска в формуле (1);

F - условие соединения результатов выполнения

подзапросов Qi = п - (Of (Ri));

Ai '

Fi - условие поиска в i-м подзапросе.

Подчеркнутые в (2) элементы (подзапросы) имеют меньшую размерность, чем исходные отношения R1 и R2 .

3. В зависимости от настроек, сделанных проектировщиком, оптимизатор использует один из следующих методов построения оптимального плана выполнения запроса на основе формулы, полученной на шаге 2: продукционная или стоимостная оптимизация.

4. При формировании оптимального плана на шаге 3 оптимизатор выбирает метод соединения таблиц. В основном используются следующие:

- соединение таблиц с помощью вложенных циклов (Nested Loop Join - NLJ);

- соединение таблиц посредством сортировки-слияния (Sort-Merge Join - SMJ);

- хешированное соединение таблиц (Hash Join - HJ);

- кластерное соединение.

Из выражений (1) и (2) понятно, что описание запроса

воряют соответствующему элементарному условию по аг.

в предикате ^ . Ясто что {Ь.к}к с И. = {йут}т , где

В.. - домен (множество значений) атрибута а. в таблице

V

; = Iг. - мощность домена. Далее будем исполь-

зовать следующее множество:

Мг] = {m\dljm с{bljk}k} .

(4)

4. Пит - вероятность, что атрибут aij какого-нибудь ijm ij

ijm '

кортежа (записи) таблицы принимает значение

^ П.т = 1 . Вероятности П.т можно задать априори

т = 1

или получить из гистограмм, которые могут быть построены утилитой СУБД сбора статистик. Для записей из таблиц {Я (} будем считать независимыми в совокупности события

{ aij dijm} ijm

(5)

5. Далее будем использовать преобразование Лапласа-Стилтьеса (ПЛС) функции распределения случайного

времени: ¥(^) = |e stdF(t) (или просто ПЛС времени). 0

Для ПЛС справедливо равенство:

¥(и)(0) = (-1)nM(E,n) ,

где и)( 0) - я-ая производная ¥( s) при s = 0; М(^и) -я-ый начальный момент случайной величины .

Например, М(^) - это среднее значение, М) - М2(£) - дисперсия и т. д.

6. (г) - производящая функция числа записей в таблице . Производящая функция дискретной случайной

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

Г(г) = I Рг* , I Рг = Ь

г = 0 г = 0

где р1 - вероятность, что случайная величина равна г. Имеют место равенства:

Г( 1)( 1) = М(£) , Г(2)( 1) = М(^2) -М(£) , Г(и)(0) = я!ри ,

где Г( и)(г) - я-ая производная Г( г) в точке г.

2. ОЦЕНКА ВРЕМЕНИ ОБРАБОТКИ ПОДЗАПРОСОВ

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

Лемма 1

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

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

т(*) = п * А-(5)),

j е N

Vz) = iPjZ, k

k4ij

где PijO = Wij(0), Pijk = I

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

l = (k - 1) qu + 1

(7)

j- , k , 1, l!

Wij(z) = GI 1 - I j(1 - z)

т е М,

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

индекса по атрибуту а,, .

г]

В противном случае необходимо определить произведение выражений (7), соответствующих участкам

смежных значений атрибутов в множестве {} ,, .

к 3 1 г]т>т е М,

Теперь найдем ПЛС времени чтения блоков таблицы с записями, удовлетворяющими условию поиска Fi. Но прежде всего определим рекуррентную процедуру расчета вероятности (произвольная запись таблицы удовлетворяет условию поиска Fi). Вероятность, что запись таблицы удовлетворяет элементарному условию поиска

по атрибуту а,, в предикате F,, можно определить с г] г

помощью выражения:

X

ij

I п

ijm

(8)

m е M--

В частности из (8) следует, что если вероятности п

ijm

одинаковы, то

= M

(9)

(6)

здесь N - множество тех атрибутов из Л, , для которых при выполнении подзапроса Qi используются индексы;

§,,(s) - ПЛС времени чтения одного блока нижнего г]

уровня индекса по атрибуту аг]; Фг](г) - производящая

г] г]

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

г]

Если множество элементов {} ,, домена В

1 г]т>т е Мг] г]

где Mij ' мощность множества Mj (см. (4)), а \Dj -

мощность домена Dij. Элементарные условия по атрибу-ij

там {®ij}j в Fi могут быть связаны различными

логическими условиями: AND, OR и, может быть, NOT. Для расчета вероятности X можно воспользоваться рекуррентной процедурой, описанной в виде табл. 1.

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

таблицы Ri удовлетворяет соответствующему условию. Первоначально "Усл.1" и "Усл.2" в правой части равенств первого столбца табл. 1 - это элементарные условия в Fi ,

а Русл 1 и Русл 2 - вероятности, вычисляемые с помощью выражения (8).

оо

Таблица 1

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

Усл.3 = усл.1 AND усл.2 русл.3 pусл.1 ' русл.2

Усл.3 = усл.1 OR усл.2 русл.3= русл.1+русл.2-p усл.1' русл.2

Усл.2 = NOT(y^.1) p усл.2 = 1 - pусл.1

~ *

*) = V (0) + X k = 1

V(l)(0)

kr,

X l!

&l = (k - 1) ri + 1

(12)

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

Теорема 1

Для ПЛС времени выполнения подзапроса Qi справедливо следующее выражение:

*) = у.(р.(*)) П 5)), (13)

] е N

Следует отметить, что Х2 не зависит от числа записей

N в таблице Щ, т. к. от N не зависят вероятности Ху

(см. (8)). Применяя схему Бернулли с параметром Х2 и используя формулу полной вероятности, найдем производящую функцию числа записей таблицы Щ,

удовлетворяющих условию поиска :

V(2) = ^Рг^ 1 - Х( 1 - 2= °г( 1 - Х( 1 - 2)) , (10)

N

здесь Хг - вероятность, определяемая с помощью описанной выше рекуррентной процедуры (см. табл. 1); 0(2) -производящая функция числа записей в таблице Щ.

Лемма 2

ПЛС времени чтения блоков таблицы Щ с записями, удовлетворяющими условию поиска , имеет вид:

tl(*) = Уг(Рг(*)) , (11)

где вг( *) - ПЛС времени чтения одного блока таблицы Щ г; Уг(2) - производящая функция читаемых блоков таблицы Щ г.

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

здесь 2) определяется выражением (10); -

максимальное число записей в блоке таблицы Щ .

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

где N - множество тех атрибутов из А {, для которых при выполнении подзапроса Q ■ используются индексы; 8, ,(*)

г V

- преобразование ПЛС времени чтения одного блока нижнего уровня индекса по атрибуту; ^(2) -производящая функция читаемых блоков индекса по атрибуту а■ ■, которая определяется выражением (7);

V

Рг(*) - ПЛС времени чтения одного блока таблицы; уг-(2) -производящая функция читаемых блоков таблицы Щ ,

определяемая выражением (12).

Утверждение теоремы 1 следует из формул (6) и (11), являющихся утверждениями лемм 1 и 2, а также свойств ПЛС.

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

Соединение промежуточных таблиц { Q г} выполняется

попарно в последовательности, определенной при построении оптимального плана (см. (3)).

Соединение является рекуррентной математической

процедурой: Q := Q > < Qi , к = 2, п . Первоначально

к

Q = Qi^ . Далее без потери общности будем считать, что

гк = к. Будем также полагать, что Аг = {агА. - это к г ч J

множество всех атрибутов какой-нибудь соединяемой

таблицы. Для оценки времени соединения таблиц (раздел

4) на каждом шаге рекуррентной процедуры необходимо

выполнить следующие действия:

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

2. Для каждого атрибута аг, соединяемых таблиц

ч

определить его домен DiJ = {diJm}m и вероятности {Л } .

Сначала покажем, как указанные выше задачи 1 и 2 решаются для соединяемых таблиц {Qi} , соответствующих подзапросам.

1. Производящая функция для числа записей определяется выражением (10), а множество атрибутов

совпадает с л■ (см. (2)).

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

2. Представим условие Fi в виде дизъюнктивной

формы. Домен В,, атрибута а,, в таблице Q, определим г] г] г

следующим образом:

а) если атрибут входит во все конъюнкты дизъюнктивной формы, то в этом случае полагаем

В а = {diim} := # d

] ]т т

г]т\ г]т

{Ьа^.}к - те значения атрибута а, , которые удовлетворяют элементарному условию по а, в конъюнкте с номером е;

б) в противном случае домен атрибута оставляем без изменения (как в таблице ).

Если домен атрибута изменился (см. (14)), то необходимо выполнить "нормирование" вероятностей

элементов нового домена В,а:

г]

г]т

Ч]т

I

к = 1

, т =1В

= d^

е В Л

{а21 d21l1 е В21' а2s

= d2^ е В2s} выражаются отношением ф ,

т е. {d11 т1' •"' d1 гт}Ф{d2111'-' }, где Ф - условие

связи таблиц Ql и Q2 по атрибутам связи и (=, <, < ,

>, >, Ф или более сложное условие). Под группой соединяемых записей будем понимать совокупность соединяемых записей таблицы Ql (или Q2 ), в которых

атрибуты связи {ац, •.., а^} (или {а21, •.., a2s} )

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

Лемма 3

Пусть количества кортежей в разных группах соединяемых записей таблиц Ql и Q2 независимы в совокупности. Тогда справедливы следующие утверждения:

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

Q := Ql>< Q2 имеет вид:

* 1В1

(15)

^(г) = 1Р2 NV1

N

1В1

п • п

т1

1-

Пп

1]т,

а = 1

1-

1-

Покажем теперь, как:

1) найти производящую функцию числа записей в промежуточной таблице Q := Q> < Qk, которая, в свою

очередь, может соединяться с таблицей Qk + 1, а также

множество атрибутов в таблице Q ;

2) определить домены В, = {di]m}т атрибутов а, ,

добавленных в таблицу Q в результате соединения, и

вероятности {пг]т}т.

Без потери общности будем считать, что соединяются таблицы Ql и Q2 , т. е. Q := Ql> < Q2 , поскольку

далее рекуррентно можно положить Ql := Q и

Q2 := Qk, к = 3, и . Рассмотрим общий случай соединения таблиц по нескольким атрибутам. Без потери общности будем считать, что таблицы Ql и Q2

соединяются соответственно по атрибутам {ац, •.., а^}

и {а21, • ••, а2s} . Пусть ф - условие связи между этими группами атрибутов.

В дальнейшем под соединяемыми записями таблиц Ql

и Q2 будем понимать записи этих таблиц, в которых значения атрибутов связи {ац = dllт е Вц, • .., а1 г =

(11.-. Уе К

ПП2]1] (1 - г)

а = 1

(16)

где Р2 N

V)N)( 0 )

N

вероятность, что число записей в

таблице Q2 равно N (см. свойства производящей функции в разделе 1);

(г) - производящая функция числа записей таблицы;

V) (г) - производящая функция числа записей таблицы ;

Ьтх...т= (11' •,{d11m1, •, d1rmr}Ф{d21 V •> ^}) , ф - это отношение связи таблиц {ац, •.., а1 } и {а21, • ••, а2s} по атрибутам связи и (=, <, < , >, > , Ф или более сложное условие).

Множество атрибутов таблицы Q равно ЛQ = Л1 и Л2 , где Л1 и Л2 - множества атрибутов таблиц Ql и Q2.

2. Для доменов атрибутов связи {ац, •.., а^} и {а21, • .., а2s} , вошедших в Q , справедливы выражения:

В1] = (d1jm]\т]- 1, т] + ^ mr, ll,•••, К({d11 т1, dlJm/ d1 т}ф{11, d2sls»),

] = 1,г ,

г

г

г

и

гт

г

D2J = (d2J7J| •••> тг /1"-" Ь - 1> Ь + 1>-> /*({dllт1, й1 ^Жd2l¡l, — ^*/*})) ,

j = 17*. (17)

Вероятности появления элементов доменов Dlj и D2j в кортежах таблицы Q равны

Л1/т

n1jm := j- - m = 1 |D1j| , j = 1, ' ,

Z nijk

k = 1

._ n 2j l

П2\1 : = j- , l = 1, |D2\| , \ = 1, s •

(18)

I Л2J•k

к = 1

Домены остальных атрибутов таблицы Q и вероятности появления элементов этих доменов в кортежах Q не изменяются.

4. ОЦЕНКА ВРЕМЕНИ ВЫПОЛНЕНИЯ СОЕДИНЕНИЯ ТАБЛИЦ

В этом разделе выводятся ПЛС времени соединения Q := Ql>< Q2, которое может быть выполнено оптимизатором с помощью одного из методов, указанных в разделе 1. Производящие функции ^ (2) и 2) числа

записей в соединяемых таблицах Ql и Q2 были получены в разделах 2 и 3 (см. формулы (10) и (16)). Производящая функция числа записей ^(2) в таблице

Q := Ql> < Q2 получена в разделе 3 (см. рекуррентную формулу (16)).

4.1. Метод соединения с помощью вложенных циклов МЬ/

Теорема 2. ПЛС времени ^ выполнения соединения таблиц Ql и Q2 методом ЫЬД имеет вид:

s) = Vi( V2(Vc(s)))• Ve(4j(s)),

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

4.2. Метод соединения посредством сортировки-слияния БМ/

Сначала таблицы Ql и Q2 при необходимости

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

возрастания: diц < dг• 12 <...< di 1 / , здесь /¿1 - мощность домена Dг•l , г = 1, 2 . Предположим также, что сортировка выполняется обычным способом - путем перемещения влево к -й записи внутрь уже упорядоченных к - 1 записей (пузырьковый способ).

Лемма 4

Пусть число перемещений записей на к -м шаге не зависит от числа перемещений на предыдущих шагах. Тогда производящая функция числа перемещений при сортировке записей таблицы Qi по атрибуту связи а{ 1 имеет вид

N

* Ii *

H1 (2) = ZP iN П

+k-1W

1 -

Z n 11 (1-2)

N k = 1 & m = 1& & l = m + 1

,(20)

здесь piN - вероятность того, что количество записей в таблице Qi равно N.

Теперь найдем производящую функцию числа сравнений атрибутов связи соединяемых таблиц Ql и Q2 .

Лемма 5

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

атрибутов связи при соединении таблиц Ql и Q2 имеет следующий вид:

* h

E ( 2 ) = V1

+ * h

1 - Z П11 m (1 - 2)

& m = 1

V

1-

Z n21m (1 - 2)

' & m = 1

,(21)

здесь

(19)

1 = max m ; Mi = {m|di 1 m < d} , i = 1, 2,

m e M-

где V1 (2), V2(2), Vq(2) - производящие функции числа d = min max d,

записей в таблицах Q1 , Q2 и Q = Q1 > < Q2 ; ^c(s) -ПЛС времени сравнения атрибутов связи двух кортежей из Q1 и Q2 ; s) - ПЛС времени соединения двух

кортежей из Q1 и Q2 •

i1 m ;

I = 1, 2 m

Vi(2) - производящая функция числа записей в таблице Qi, i = 1, 2 (см. формулы (10) и (16)).

Теорема 3

ПЛС времени ^ выполнения соединения таблиц Ql и Q2 методом 8МД имеет вид:

Ч^) = [Ян (^ ^[^(Ч^ ))]• Е(Ч^ ))х х VQ(ЧJ(s)), (22)

1 (г) - производящая функция числа перемещений при

сортировке записей таблицы Qi по атрибуту связи а{ 1 ,

определяемая выражением (20), г = 1, 2 ; Е(г) -производящая функция количества сравнений атрибутов связи при соединении таблиц Ql и Q2 , определяемая

выражением (21); VQ (г) - производящая функция числа

записей в таблице Q= Ql > < Q2 (см. формулу (16));

Чу( s) - ПЛС времени перемещения двух кортежей при

сортировке таблиц Ql и Q2 ; Чс(s) - ПЛС времени

сравнения атрибутов связи двух кортежей из Ql и Q2 ;

Ч/^) - ПЛС времени соединения двух кортежей из Ql и

Q2.

4.3. Метод хешированного соединения Н/

В процессе хешированного соединения выполняются следующие шаги:

1. Выбирается хеш-функция.

2. Записи соединяемых таблиц Ql и Q2 хешируются по атрибутам связи, т. е. создаются две группы таблиц { Ql]} , { Q2J} , число таблиц в группе равно количеству разделов.

3. Для каждого раздела с помощью метода 8МД или ЫЪД выполняется соединение соответствующих таблиц:

= Q1 ] > < Q2J , ] = 1, г , г - число разделов.

4. Объединяются результаты соединений, выполненных

на шаге 3: Q = и .

] = 1

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

от деления на 10), и в таблицу Qii попадут записи

ч

таблицы Qi, для которых остаток от деления на 10 значения атрибута связи равен ] (] = 0,9 ). Лемма 6

Справедливы следующие утверждения: 1. Производящая функция числа записей в таблице QiJ

(] = 1, г , г = 1, 2) имеет вид

Чг) = Ц 1 - I Пг1т(1 - г)

т е К,

(23)

здесь Vi (г) - производящая функция числа записей в таблице Qi, Ki = {т|й(di 1 т) = ]} ; Н - хеш-функция, возвращающая номер раздела; dilm - элемент домена В,1 атрибута связи ац таблицы Qi.

2. Домен атрибута связи а^ таблицы Qy включает

следующие элементы:

Вг]1 = { ^ 1 т |Н (di1m ) = ] } = { т } и

(24)

Вероятности появления элементов доменов Вг]1 в кортежах таблицы QiJ равны

п г 1

г] 1 т

Пг]1 т := - т = 1 \Вг]1У ] = 1, Г , г = 1, ^ (25)

I пг]1 к

к = 1

здесь в правой части п^т = Пг 1 Н(di 1 к) = ] .

Домены остальных атрибутов таблицы QiJ , вошедших в Qii из Qi, и вероятности появления элементов этих

Ч г

доменов в кортежах QiJ не изменяются. Теорема 4

ПЛС времени ^ выполнения соединения таблиц Ql и Q2 методом ИД имеет вид:

s) = П Ч;иг(s)'

(26)

г=1

где г - число разделов; •(s) - ПЛС времени соединения таблиц QlJ и Q2J, выполненного методом ЫЪД или 8МД. Формулы для Ч^ •(s) определяются выражениями (19) или (22). Производящие функции числа записей соединяемых таблиц Ql := QlJ и Q2 := Q2J , а также домены атрибутов связи определяются выражениями (23)

и (24), ] = ~г.

Доказательство теоремы 4 следует из описания алгоритма хешированного соединения, леммы 6 и свойств ПЛС.

5. ОЦЕНКА ВРЕМЕНИ ВЫПОЛНЕНИЯ

г

ИСХОДНОГО ЗАПРОСА SQL

На основании результатов, сформулированных в предыдущих разделах, можно получить ПЛС времени выполнения исходного запроса (3).

Теорема 5

ПЛС времени выполнения исходного запроса (3) имеет вид:

n n - 1

*(*) = п Ti(*) П j(5), (27) i = 1 j = 1

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

где T,(*) - ПЛС времени выполнения подзапроса Q, которое определяется выражением (13); (*) - ПЛС

времени j -го соединения промежуточных таблиц, которое определяется одним из выражений (19), (22) и (26) (тип соединения назначается оптимизатором для каждого j -го соединения); n - число подзапросов в (3).

Доказательство теоремы 5 следует из свойств преобразования Л.-С. и теорем 1, 2, 3, 4, приведенных в предыдущих разделах. Используя выражение (27), можно оценивать различные моменты (среднее, дисперсию и др.) времени выполнения запросов SQL.

Важно подчеркнуть, что полученные выражения для ПЛС времени выполнения подзапросов (13) и соединений (19), (22), (26), а также для производящих функций числа кортежей в исходных и результирующих таблицах (см. формулы (10) и (16)) могут быть использованы не только для расчета характеристик времени выполнения

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

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

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

1. Du W., Krishnamurthy R., Shan M.-C.. Query Optimization in a Heterogeneous DBMS // Proc. of 18th Intern. Conf. on Very Large Data Bases, August 23-27, 1992. Vancouver, Canada. - P. 277-291.

2. Gardarin G., Gruser J.-R., Tang Z.-H. Cost-based Selection of Path Expression Processing Algorithms in Object-Oriented Databases // Proc of 22th Intern. Conf. on Very Large Data Bases (VLDB'96), September 3-6, 1996, Mumbai (Bombay), India. - P. 390-401.

3. Gardarin G., Sha F., Tang Z.-H. Calibrating the query optimizer cost model of IRO-DB, an objectoriented federated database system // Proc. of 22th Intern. Conf. on Very Large Data Bases (VLDB'96), September 3-6, 1996, Mumbai (Bombay), India. - P. 378-389.

4. Graefe G. Query Evaluation Techniques for Large Databases // ACM Computing Surveys. - 1993. - Vol. 25, № 2. - P. 73-170.

5. Mishra P., Eich M.H. Join Processing in relational databases. // ACM Computing Surveys. - 1992. - Vol. 24, № 1.

6. Harris E. P., Ramamohanarao K. Join algorithm costs revisited // The VLDB Journal. - 1996. - Vol. 5, № 1. - P. 64-84.

7. Ульман Дж. Основы систем баз данных. - М.: Финансы и статистика, 1983. - 334 с.

8. Чаудхари С. Методы оптимизации запросов в реляционных системах // Системы управления базами данных. - М. 1998. - № 3. - С. 22-36.

УДК 004.97:007.53:681.32

НЕЙРОСЕТЕВАЯ РЕАЛИЗАЦИЯ БЫСТРЫХ СПЕКТРАЛЬНЫХ

ПРЕОБРАЗОВАНИЙ1

А.Ю.Дорогов

В статье рассматривается использование нейронных сетей для реализации быстрых алгоритмов спектральных преобразований. Показано, что быстрые алгоритмы являются частным вариантом быстрых нейронных сетей (БНС). Предложены методы параметрической настройки БНС к аналитически заданной системе базисных функций. Построены нейросетевые реализации быстрых преобразований Уолша, Виленкина-Кристенсона, Фурье, Хаара, быстрого Вейвлет-преобразования. Приведены примеры.

In the article the application of neural network for realisation of fast algorithms of spectral transformations is considered. It is shown, that the fast algorithms are special variant of fast neural networks (FNN). The methods of parametric learning of

1.Работа поддержана грантом Минобразования РФ.

the FNN to an analytically specified systems of basis functions are offered. Neural network realisations so fast transformations as Walsh, Vilenkin-Chrestenson, Fourier, Haar, Wavelet-transformation are constructed. Examples are indicated.

1. ВВЕДЕНИЕ

Нейросетевая технология в настоящее время широко применяется в различных областях цифровой обработки данных [1,2]. Прогнозирование временных рядов,

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