Scientific journal
Advances in current natural sciences
ISSN 1681-7494
"Перечень" ВАК
ИФ РИНЦ = 0,775

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

Время выполнения запроса можно представить в виде формулы:

, где =1, если i-ая таблица, принадлежит запросу; 0 - иначе; n-количество таблиц;  - объем блока;  - объем i-й таблицы;  - время открытия i-й таблицы;  - время закрытия i-й таблицы;  - время чтения блока;  - общее время выполнения операций соединения.

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

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

       (1)

где ,  - нагрузка на i-ю вершину; = 1, если i-ая вершина, принадлежит подграфу, 0 - иначе; n - количество вершин; yj= 1, если j-ая дуга принадлежит подграфу, 0 - иначе; m - количество дуг;  - нагрузка на j-ю дугу.

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

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

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

СПИСОК ЛИТЕРАТУРЫ

  1. Гарсиа-Молина Г., Ульман Д., Уидом Д. Системы баз данных. Полный курс. Пер. с англ.- М.: Издательский дом «Вильямс», 2003 - 1088 с.
  2. Погодаев А.К., Анненков А.В. Метод оптимизации графов с нагруженными вершинами /Вестник ЛГТУ - ЛЕГИ 2001 №1(7) - 37-39с.