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

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

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

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Зыкин С.В., Полуянов А.Н.

Целью данной работы является формирование корректного плана выполнения запросов вида «соединение селекция проекция» к реляционным базам данных под управлением оценочных функций. Настоящая тема актуальна значительный период времени. Тем не менее каждый раз есть новые требования для запросов, новые способы представления данных, и т.п. Это приводит к необходимости повторного решения старых проблем. Много статей было посвящено различным аспектам оптимизации запросов к реляционным базам данных. В целом возможно определить два основных направления: а) логическая оптимизация запросов; б) физическая оптимизация выполнения запросов. Основа логической оптимизации является эвристикой о порядке реляционных операций. Тем не менее более эффективное решение проблемы оптимизации является минимизацией количества входных-выходных операций в течение выполнения запроса. В работе предлагается метод разработки плана выполнения запроса на основе оценочных функций для входных и выходных операций для стандартных и специализированных методов хранения данных. Целесообразность преобразований, использования индексов и т.п. определены оценочными функциями.

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

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

УДК С04.652.4

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

С. В. Зыкин. А. Н Полуянов Институт жтнтптики тл. С. Л. Соооярял С/) РАН, г. Ом\к, Россия

Аннотация - Целью данной работы является формирование корректного плана выполнения запросов вила «соединение - селекиня - проекция» к реляционным базам данных под управлением оценочны* функций Настоящая тема актуальна значительный период времени. Тем не менее каждый раз есть новые требования для запросов, новые способы представления данных, н т.п. Это приводит к необходимости повторного решения старых проблем. Много статей было посвяшено различным аспектам оптимизации запросов к реляционным базам данных. 13 целом возможно определить два основных направления: а) логическая оптимизация запросов; б) физическая оптимизация выполнения запросов. Основа логический «III ИМНСЩИИ МН. 1М РI СМ -ИфНП ИКОН II 11П|1И(Ке ¿1Р. IV 11Ш1Н Н К1 V IIIIPjMII.lt Л. Тнм ни минее Гиннн чффрк-

тпвпос решение проблемы оптимизации является минимизацией количества входных выходных опера щш ч ¿«пение выпи.шеним »ириса В раит« нррд.1Л1 пеня мени ^а^раиинси иална ыыиилнеыим аириса на основе оценочных функции хля входных и выходных операций для стандартных и специализированных методов хранения данных. Целесообразность преобразований, использования индексов н т.п определены оценочными функциями.

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

113ВЕЛЕНИЕ

Логическая оптимизация рассмотрена в работах [1,2,3]. В этих исследованиях не учитывается возможность совместной физической н логической оптимизации згпроса. Тем не менее эти методы был! положены в основу данной работы Методы вычисления оценочных фтоклиз достаточно исследованы в литературе Г4, 5, б, 7] (ссылки хасатотгя только обчпрчътх и сигтсмлттглироялиных ^бжкдций)

Необходимость изучения проблемы оэтюшзацшх запросов к базе дашсых периодически возгашаег э анализе специальных запросов, или специальных способах хранения данных также в решении необычных прикладных задач Например, в [8] вычисляются нздержкн энергии в планах выполнения запроса. Постоянный интерес проявляется к методам использования кэша, чтобы уменьшить время выполнения запроса [9, 10] Учет особенностей в этом случае допускает Ьолсс эффективное использование содержимого кэша.

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

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

11.21

7Гх (<Б.(Я| ИАМ...М /Щ. С1)

где V, о, - операторы проекции, селекции и естественного соединения: X— множество атрибутов резупьти-рукщеге отношения; С* логическое выражение. Имена атрибутов в (1) расширены префиксом имени отношения, что решает проблемы однозначности в Л'и в С и операцию естественного соединения преобразует в операцию декартова произведения. Вырсжсннс (1) охватывает достаточно широкий класс реляшкжных запросов, но не все возможные Проблемы существования преобразования обсуждаются, например в [3].

В ничгггкг 1КХНШ jihi еишрим ¡ч»гду хрлнгни> и itnp.-iroi ки днннмх R jiüGtiit* иргдшшлс/гпи. что гущг-ствует распределенная база данных на нескольких серверах. связанных между собой достаточно скоростными каналами. Предлагаемая методика может быть использовала без нзмеиегшй для одного сервера баз данных н одной рабочей стакцнк.

Ш. TfcUFiiH

Для дальнейшего изложения необходимо рассмотреть схему базисного алгоритма итерирсвашгя (БАИ). Пуста по какнм-лноо правилам зафиксирована последовательность отношений: Rm. R->.....R¡.: Д область про-

ГМ(Т1]1И (ТГНОПГНИМ Rj К СЧК1ГКГПТ1НИИ Г «фИНИЧГНИММИ С И 1ГК)'111ИиИ (»I |:/1НИ"ГНИИ '.1И ИЧ 1Г1Ж)ШКНИЙ /?¡,j<i

Рассмотрим базисный алгоритм итерирования

'ВЫЧКСЛСННС Di>

«'поиск первой записи /)/!, | G Dx>

i=l

гЪ

<:cycle>

d/jÄ, |С Д then if r~k then ifC(/)=. IRUb. then r—r+t skip Д end if eke i=/+l

c: вычисление D¿> c: поиск первой записи r[j£,]fc Д$ > end if else

if1 -Jiea

c-:exit from cycle> eke 7=7-1

skip D; enrl if nulif <llie end ufa cydc> <l1ir mil nf alj».tnil1ni>,

гдг г-]|г<улмируи1(цгг тнпнк-ннг. i — Kqnr*, (1);|^)».!иций ифиГты и:< ЛГи aq>Mf»yihi д.т нг удянгнных i>ipa-иичений из С; <-skip Д> - переход к следующему кортежу Rr принадлежащее Д .

Введем следующие обозначения: ©(1, 2,..., к; t) - стоимость итерирования последовательности отношений Я2.....на ссрвсрс с номером 2_____к:!) стоимость формирования результата итерирования на сер-

вере 1 Обтгтте чатряты итерирования определяются гуммгЛ- у + i/r где <р - включает в геоя количество операций ввода и затраты за передачу исходных данных на сервер I, у — количество операний вывода на севере /. Рассмотрим общую схему по строения квазнопгтгмалыюго плана реализации запроса:

1. Выбирается шра отношений R¡ н сервер 1. для которых:

1) + Ж.Г, /) — m¡n{0*)>-

1.1. Для каждой пары перестановкой определяется ведушее отношение если j\ !)< < <c(j, i: I), io всдушсс отношение R{, в противном случае ведущее H¡.

1.1.1. Для ведомого отношения Rj необходимо предварительно? итерирование, если:

v(j. J) v(j. 0 1 <?í i. то: O < tU j- Ö-

где R„ - результирующее отпошегше после 1ггер1фОЕазшя Rj.

1.2. fc=0.

2. Для оставшихся не выбранными отношений выбирается R, тгкое. что:

<?U-J- h. ¡y--, i к- n:I)< q/j.j. /j. ¡2.....¡t. п. 1) I

+ pO-J-' - !'>.....77:1) + <р(*п. г: I),

где Rn результат итерирования выбранных отношений.

2.1. Для .Я, необходимо предварительное итерирование, гели:

<p(ir, I) — у/(и; /) + <p(j,J, h> hi-- -. fe» 0 <-

< ví¡J. ¡i- к.....fe. я. Ь-

где - результат итерирования Rr.

2.2. Если в пункте 2.1 найдено R*. то к = fr 11. it = п и переход к пункту 2: в противном случае переход к

liyHKIV 3

3. Для выбранных отношений реализуется БАИ с выполнением промежуточных итерирований, необхздн-моеть в которых получена в пунктах 11.1 и 2.1. Если остались неэыбракные отношения, то для результата итерирования формируется статистика для пычнелепия /? и if и осуществляется переход к пункту 1; в пропшпом случае конец алгоритма.

rv PF.yv.TbT А ТЫ 3ir(TFF.PHMFHT0R Вычисление функции о н ^ осутцесталяется на основе статистики. формируемой з процессе эксплуатации баз дашплх. Достаточно эффективной методикой сбора статистики язляется ишервалы:ое onenimaitne распре деления атрибутов |4. 6|

(Л к. d. iai.bi.rn. i" 1.....и). (2)

где N - мощность отношения (количество корге>хеп) э R, к- мощность атрибута (количество разлзгиллх зиаче ний з R. а ~ минимальная разнила между различными значениями атрибута, г. - количеегво интервалов. »7 -нижняя граница интервале.. Ь. - верхняя гранила интервала. N- - количество значений атрибута в интервале (a¡.

Ь.)

Величины к и d могут быть получены экспертным способом. Количество различных значении на интервале может быть получено по формуле: к. - kX¿N. Корректировка даппого зшчепия может быть выполнена с не пользованием величины d: к, < 1+( Ъ, a^/d. При ¡7 = 1 выражение (2) соответствует предположению о равномерном распределении ¿ирнбуха.

Д|1* КЫНИСЛГНИМ !/1 И 1/1 lio НГЧ КОЛККИМ /upilfiy ТИМ CVIHDII) С I HUI ||Г*НИ1 KUUU«HII Н111ПЛК«ЖИН№ иргдноложг-

ния о независимости этих атрибутов В некоторых случаях результаты оценивания будут существенно улучшены. если использовать функцию взаимной коварнацнн атрибуте® [4. 5]. Динамическое вычисление функции коварнацни является нецелесообразным из-за существенных затрат либо по памяти, либо по времени. Однако коварнални и более качественные статистики (2) могут быть получены системой в фоновом режиме, когда за-|рузка кахли-либи сервера минимальна.

V. Оьс УХДЬЯИЬ i>b¿ УJlbi A'iUB Рассмотрим ситуацию, когда в (1) указало несколько огюшешш. принадлежащих одному списку либо од ному кластеру. Возможно, что одно к то же эгиошенне несколько раз присутствует в (1) под различными расширенными именами. К этому приводит, например, запрос на определение объекта, обладающего несколькими различными значениями одного атрибута Такие отношения назовем совместно хранимыми. При реализации запроса в этих условиях чаще всего более целесообразно только один раз просматривать синеок, кластер либо дублированное отношение. Для этого необходимо, модификация базисного алгоритма таким образом, что в ре зультате итерирования могло быть сформулировано несколько результирующих отношений.

VT Выио.ты И ЗАКЛЮЧЕНИЕ При наличии групп запросов реализуется их параллельная обработка на различных серверах. В рамках одной группы параллелизм возможен для различных шераций. по это приведет к увеличению промежуточных результатов. 11ри множественном доступе к данным запросы поступают не одновременно. Система может приостановить выполнение группы запросов и довести выполнение нового запроса до той же стадии, что сократит гуммир-*:г нргмм кмисшнгним :члн]кмчж

список лггерлгуръ:

1 СТПтпап I Principles of dat*ba<;e sysipms Computer Science Press- Stanford, 1980 179 p

2. Maier D. The theory of relational databases Computer Science Press: Stanford, 1SS3. 637 p.

3. Kuznetsov S. D. Logical query optimization in reJational DBMSs /' Programming and Computer Software. 1989. No. 6.

4. Bell D A.. Ling DHO, McClean S. Pragmatic Estimation of Jörn Sizes and Attribute Correlations // EEEE lilt. Conf. of Data Engineering. 1989 P 76-84.

5. Teorey T_, Fry J. Design of database structures. NJ: Prentice Hall. Upper Saddle River. 1982.

6. Kuznetsov S. D. Optimal query plan generation in relational DBMSs H Programming and Computer Software, 1990. No 2.

7. Zytin S.V. The list size estimation for mapping of 'partial join type H Cybernetic and system analyse, 1993 No. 6. P. 142-152.

8. Xu Z.. Tu Y-C.. Wong X. Dynamic Energy Estimation of Query Plans in Database Systems U IEEE 33rd International Conference: Distributed Computing Systems (ICDCS), Philadelphia. PA. 8-11 My 2013 P. 83-92. DOI: 10.1109.ICDC S.2013.21

9. Kumar M.. Batra N.. Agganval H Cache Based Query Optimization Approach ill Distributed Database II International Journal of Computer Science Issues. 2012. Vol. 9, Issue 6. no. L. P. 389—395.

10. Mosul S. V., Zykrn S. V. Truth Space Method for Caching Database Queries // Modeling and Analysis of Information Systems. 2015. Vol. 22, no 2. P. 24S-25S.

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