Модель обработки запросов в параллельной системе баз данных - page 3

Код_П, а отношение Поставщик деталей (ПД) — по атрибуту Код_Д
(код детали). Предположим, что выполняется соединение отношений
П и ПД в соответствии с условием П.Код_П = ПД.Код_П. При вы-
полнении операции соединения СУБД должна перераспределять кор-
тежи отношения ПД, так как оно фрагментировано не по атрибуту
соединения. Способ перераспределения определяется функцией рас-
пределения
δ
, которая для каждого кортежа отношения вычисляет
номер процессорного узла, на котором должен быть обработан этот
кортеж. В данном примере в качестве функции распределения для
отношения ПД следует взять функцию фрагментации отношения П:
δ
ПД
(
ПД
) =
ψ
П
(
ПД
) =
ПД.Код_П div 10.
Если оба отношения, участвующие в соединении, фрагментирова-
ны не по атрибуту соединения, то СУБД придется перераспределять
между процессорами оба входных отношения. При этом в качестве
функции распределения для обоих отношений СУБД может взять лю-
бую, но одну и ту же функцию распределения по атрибуту соединения,
которая отправляет кортежи с одинаковыми значениями атрибута со-
единения на один и тот же процессорный узел.
Для организации межпроцессорных обменов в соответствующие
места дерева плана запроса СУБД вставляет специальный оператор
exchange. Оператор exchange реализуется на основе использования
стандартного скобочного шаблона и имеет два специальных параме-
тра, определяемых пользователем: номер порта обмена и указатель
на функцию распределения. Функция распределения для каждого кор-
тежа вычисляет логический номер процессорного узла, на котором
данный кортеж должен быть обработан. Параметр “порт обмена” по-
зволяет включать в дерево запроса произвольное число операторов
exchange (для каждого оператора указывается свой уникальный порт
обмена).
Структура оператора обмена exchange изображена на рис. 2. Опера-
тор exchange является составным и включает в себя четыре оператора:
gather, scatter, split и merge, которые реализуются на базе стандартного
скобочного шаблона. Оператор split — это бинарный оператор, который
Рис. 2. Структура оператора exchange
80 ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. “Приборостроение”. 2010. № 4
1,2 4,5,6,7,8,9,10,11,12,...13
Powered by FlippingBook