Параллельная декомпозиция реляционных операций на основе распределенных колоночных индексов

Информатика, вычислительная техника и управление УДК 004.657 DOI: 10.14529/cmse150405

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

Е.В. Иванова, Л.Б. Соколинский

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

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

Введение

В последнее время большой интерес у исследователей вызывают системы баз данных с хранением баз данных по столбцам. Такое представление данных называется колоночным [1, 2]. Колоночное представление в отличие от традиционного строкового представления оказывается намного более эффективным при выполнении запросов класса OLAP [3]. Это объясняется тем, что при выполнении запросов колоночная СУБД считывает с диска только те атрибуты, которые необходимы для выполнения запроса, что сокращает объем операций ввода-вывода и, как следствие, уменьшает время выполнения запроса. Недостатком колоночного представления является низкая эффективность при выполнении строково-ориентированных операций, таких, например, как добавление или удаление кортежей. Вследствие этого колоночные СУБД могут проигрывать по производительности строковым при выполнении запросов класса OLTP. Одним из главных преимуществ строчных хранилищ является наличие в строковых СУБД мощных процедур оптимизации запросов, разработанных на базе реляционной модели. Строковые СУБД также имеют большое преимущество в скорости обработки запросов класса OLTP. В соответствии с этим в исследовательском сообществе баз данных были предприняты интенсивные усилия по интеграции преимуществ столбцовой модели хранения данных в строковые СУБД. Анализ рассмотренных решений показывает [3], что нельзя получить выгоду от хранения данных по столбцам, воспользовавшись системой баз данных со строковым хранением с вертикально разделенной схемой, либо проиндексировав все столбцы, чтобы обеспечить к ним независимый доступ.

Авторами в работах [4-10] был предложен новый подход к интеграции преимуществ строчных и колоночных хранилищ, суть которого заключается во введении распреде-

ленных колоночных индексов, хранимых в оперативной памяти кластерной вычислительной системы. Эти колоночные индексы обрабатываются с помощью программной системы, получившей название «колоночный сопроцессор КСОП». Назначение КСОП — вычислять таблицы предварительных вычислений для ресурсоемких реляционных операций по запросу СУБД. Общая схема взаимодействия СУБД и КСОП изображена на рис. 1.

Рис. 1. Взаимодействие SQL-сервера с колоночным сопроцессором КСОП

КСОП включает в себя программу «Координатор», запускаемую на узле вычислительного кластера с номером 0, и программу «Исполнитель», запускаемую на всех остальных узлах, выделенных для работы КСОП. На SQL-сервере устанавливается специальная программа «Драйвер КСОП», обеспечивающая взаимодействие с координатором КСОП по протоколу TCP/IP.

Теоретические основы колоночного сопроцессора были изложены авторами в работе [4], где были описаны колоночные индексы и доменно-интервальная фрагментация. Суть математической модели заключается в следующем. Пусть задано отношение R(A,B,...), T(R) = n . Атрибут А в отношении R играет роль суррогатного ключа. Пусть на множестве DB , являющемся доменом атрибута B , задано отношение линейного порядка. Колоночным индексом IRB атрибута B отношения R будем называть упорядоченное отношение IRB (A,B) , удовлетворяющее следующим свойствам:

т

Vxl,x2 e IRB

Vr e R

С содержательной точки зрения колоночный индекс IRB представляет собой таблицу из двух колонок с именами A и B . Количество строк в колоночном индексе совпадает с количеством строк в индексируемой таблице. Колонка B индекса IRB включает в себя все значения колонки B таблицы R , отсортированных в порядке возрастания. Каждая строка x индекса IR B содержит в колонке A суррогатный ключ (адрес) строки r в таблице R , имеющей такое же значение в колонке B , что и строка x. На рис. 2 представлены примеры двух различных колоночных индексов для одного и того же отношения.

Колоночный индекс 1КВ

ОтношениеR

Колоночный индекс /й

А В А В С А с

3 110 0 136 17 ------ 1 10

1 114 1 1 1 114 10 3 10

5 127 2 136 25 ♦-х-- 4 15

0 136 1 / 3 110 10 х 0 17

2 136 —\ 4 174 15 2 25

7 158 V 5 127 99 8 55

4 174 ж — К'"* 6 174 97 7 63

6 174 7 158 63 6 97

8 187 --------------> 8 187 55 / ч 5 99

Рис. 2. Колоночные индексы

Для фрагментации колоночных индексов по узлам многопроцессорной системы авторами был предложен метод доменно-интервальной фрагментации [4], суть которого заключается в следующем. Пусть на множестве значений домена Эв задано отношение линейного порядка. Разобьем множество Эв на к > 0 непересекающихся интервалов:

К = К; V!) ^ v2) =[Ук_{, Ук);

в = и^.

i=0

Функция «: Эв ^{0,..., к -1} называется доменной функцией фрагментации для Эв ,

'в

если она удовлетворяет следующему условию:

;е{0,..., к - 1}^Ь е

VI е {0,...,к - 1}^Ь е Эв <

Пусть задан колоночный индекс 1яв для отношения R(А,В,...) с атрибутом В над доменом Эв и доменная функция фрагментации ф^ . Функция

: !яв ^{0,., к -1} ,

определенная по правилу

^ е 1Е.в

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

доменного интервала, которому принадлежит значение х.в .

Определим г-тый фрагмент (I = 0,.,к — 1) индекса 1яв следующим образом:

4. в = {х 1 х е в; ф1кв

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

У0 < У1 < ••• < Ук;

Колоночный индекс

¡и.в

Домен атрибута В

A B

3 110

1 114

5 127

0 136

2 136

7 158

4 174

6 174

8 187

у

100 A B

3 110

Интервал 0 1 114

129 5 127

130 A В

— Интервал 1 3 110

1 114

159 5 127

160 "---.....^ A B

— Интервал 2 3 110

1 114

189 5 127

CP 0

го ü 0

ср 0

Рис. 3. Фрагментация колоночного индекса

фрагментации. На рис. 3 схематично изображена доменно-интервальная фрагментация колоночного индекса, имеющая степень к = 3.

Пусть для отношения R(А,В,С,...) заданы колоночные индексы 1КВ и 1КС. Транзитивной фрагментацией индекса ^ С относительно индекса ^ В называется фрагментация, задаваемая функцией ^ : 1КС ^{0,...,к -1} , удовлетворяющей условию Ух е ^ С :

<Pir,с (*) = ?IR B (°A=x.A (IR. B )) •

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

В работе в работе [4] авторами была выполнена декомпозиция операций пересечения и соединения, в [8] — операции группировки. В настоящей статье рассматривается декомпозиция операций проекции, выбора, удаления дубликатов и объединения. Кроме этого, вводится новый вид колоночных индексов, названных колоночными хеш-индексами. Колоночный хеш-индекс способен индексировать сразу несколько атрибутов отношения. Для распределенных колоночных хеш-индексов рассматривается декомпозиция операций пересечения, объединения и естественного соединения.

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

1. Декомпозиция реляционных операций с использованием фрагментированных колоночных индексов

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

1.1. Декомпозиция проекции

В этом разделе рассматривается декомпозиция операции проекции вида с (R).

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

Пусть задано отношение R(А,В,С1,...,Си,...) с суррогатным ключом Л. Пусть имеется колоночный индекс 1КВ(А,В). Пусть также имеются колоночные индексы 1К с (А,С1),., 1К с (А,Си). Пусть для индекса 1КВ задана доменно-интервальная фрагментация степени к :

4. в = 04в .

{=0

Пусть для индексов 1Я^,..., 1Яс задана транзитивная относительно 1Кв фрагментация:

Положим

V] е{1,..., и} 1КС = 01кс] .

V ¿=0 )

Р = 4в"4с

для всех i = 0,.,к -1. Определим

к-1

Р = иР .

Построим отношение Q(B, с1,., си) следующим образом:

Я = ^,..,си

Теорема 1. Q = жв^ с (R) .

Доказательство. Сначала докажем, что

Я ^Яв^с

Пусть (Ь,с1,.,си) е Я . В силу (14) и (13) существуют а и i такие, что (а,Ь,с1,.,си) е р . В силу (12) имеем:

(а,Ь) е 1Кв; (а с1) е I ;

(а си) е 1к

По определению колоночного индекса (свойства (1) и (3)) отсюда следует, что существует г е R такой, что г.А = а;гВ = Ь;г.С1 = с,;...;г.Си = см, откуда следует (Ь,с,,...,си)епвс^ С (R), то есть (15) имеет место.

Теперь покажем, что

Q ..Си

Пусть (Ь, с,,..., си) е жВ ^ с (R). Тогда существует г е R такой, что г.В = Ь; г.С1 = с1; ... ; г.Си = си. Положим а = г.А . По определению колоночного индекса (свойства (1) и (3)) отсюда следует что

(а,Ь) е 1Кв ;

(а, с1) е 1яс/;

(a, си ) е 1ЯСи .

В силу свойств доменно-интервальной фрагментации существует 1 такой, что (а,Ь) еГНВ . По определению транзитивной относительно 1ЯВ фрагментации отсюда, с учетом (17), следует

(а с1) е гя . с,;

(a, си ) е ГК. С^

Тогда, в силу (12), (а,Ь,с,,.,си) е р . Учитывая (13), получаем (а,Ь,с,,.,си) е Р , то

есть (Ь, с,,., си) ежв^ с (Р). Принимая во внимание (14), имеем (Ь, с,,., си) е Q , что означает, что (16) имеет место. Теорема доказана.

1.2. Декомпозиция операции выбора

В данном разделе рассматривается декомпозиция операции выбора вида св(R), где в — некоторое условие, накладываемое на атрибуты отношения R .

Пусть имеется отношение R(А,В,С,,.,Си,Д,...,Dw) с суррогатным ключом А. Рассмотрим операцию выбора вида <ув(в^ с )(Я), где в(В,С,,.,Си) — некоторое условие, зависящее от значений атрибутов В,С,,.,Си отношения R. Пусть имеется колоночный индекс 1ЯВ . Пусть также имеются колоночные индексы:

IR.Cl,., ^Я.Си

Пусть для индекса 1ЯВ задана доменно-интервальная фрагментация степени к:

4.В = 04в .

1=0

Пусть для индексов 1Я^,..., 1Яс и 1Я^,..., 1Яв задана транзитивная относительно 1Я фрагментация:

С к-1 Л

V; е{1,..., и} 1я . с = У ^кс, .

Положим

Я . С, ~ Я . с

V >=о ' У

Р =^А

для всех 1 = 0,.,к -1. Определим

P = ОP .

i=0

Построим отношение Q(A,B,Cl,...,Cu,D;,...,Dw) следующим образом:

Q = {&*

Теорема 2. Q = ae(B,Ci,_ C)(R).

Доказательство. Сначала докажем, что

Q c^bc^C)

Пусть (a,b,c1,...,cu,d1,...,dw) e Q . Тогда из (22) и (1) следует, что существует r e R такой, что

r.A = a;r.B = b;rC; = c^...;r.Cu = cu;r Dx = dx;...;r.Dw = dw .

C другой стороны, в силу (22) существует p e P такой, что (a) e P . Тогда в силу (21) существует i такой, что (a) e P. Отсюда, с учетом (20), существуют b',c{,...,cu такие, что

Отсюда следует, что

0

и

(a, b') e IR b ;

(a cl) e irc1;

(a c'u) e IRCU.

По определению колоночного индекса (свойства (1) и (3)) отсюда следует, что существует r' eR такой, что r'.A = a, r' .B = b', r' .C; = c[,..., r'.Cu = cl. Принимая во внимание (26), тогда имеем 9(r '.B, r '.C1,..., r '.Cu) = true , то есть r' eoe{BCi C ) (R) . Поскольку r'.A = a = r.A

и A — суррогатный ключ в R, с учетом (24), отсюда получаем (a, b, c;,..., cu, d;,..., dw) e&g(BCi C } (R) , то есть (23) имеет место.

Теперь покажем, что

Q в,C;,.,C„,

Пусть (a,b,c;,...,cu,d;,...,dw) e ав(вBC^ C ) (R) . Тогда существует r e R такой, что

r.A = a; r.B = b; r.C; = c^ ... ; rCu = cu; r.D; = d,; ... ; r.Dw = dw

и

6

По определению колоночного индекса (свойства (1) и (3)) из (28) следует что

(a,b) e IR b ; (a,c) e IRC ;

1

си ) е

В силу свойств доменно-интервальной фрагментации существует i такой, что

(а,Ь) е Гнв . По определению транзитивной относительно 1КВ фрагментации отсюда, с

учетом (30), следует

(а с,) е 1'я с,;

си ) е ГН.Си .

Тогда с учетом (29) из (20) получаем (а) е р. Принимая во внимание (21), имеем (а) е Р. С учетом (22) и (1) отсюда следует, что существует г' е Я такой, что

г'. А = а

и

Так как А — суррогатный ключ, из (31) следует, что г' = г. Вместе с (32) и (28) это дает (а,Ь,с,,.,си,d1,...,dw) е Q , то есть (27) имеет место. Теорема доказана.

1.3. Декомпозиция операции удаления дубликатов

Пусть задано отношение Я (А,В,С,,.,Си) с суррогатным ключом А. Пусть имеется колоночный индекс 1ЯВ. Пусть также имеются колоночные индексы 1Я^,..., 1ЯС . Пусть для индекса 1Я В задана доменно-интервальная фрагментация степени к :

4.В = 04В .

1=0

Пусть для индексов 1Я^,..., 1Яс задана транзитивная относительно 1ЯВ фрагментация:

V; е{1,..., и}

V 1=0 У

Положим

р ЖА

для всех 1 = 0,.,к -1. Определим

Р = 0Р .

1=0

Построим отношение Q(B, С,,., Си) следующим образом:

Q = {

Теорема 3. Q = *(*В,с,.,с (Я)) . Доказательство. Сначала докажем, что

Q с^

Пусть (Ь,с,,.,си) е Q . Тогда из (37) следует что существует а такой, что (а) е Р , и существует г е Я такой, что

г.А = а; гВ = Ь; г.с, = с,; ... ; г.с„ = с.

Следовательно (Ь,с,,.,си)с (Я)) . Теперь покажем, что

Q

Пусть

(Ь, C1,., си ) е^(^В,С„.,Си (Я)) .

Положим

R '

Вычислим кортеж

г ' = 7тш

Очевидно, что

г' е R

и

г '.В = Ь; г 'С = с,; ... ; г '€и = Си.

Обозначим

а = г'.Л .

По определению колоночного индекса (свойства (1) и (3)) из (43), (44) и (45) следует что

(а,Ь) е 1КВ;

(а С1) е

(а Си) е .

В силу свойств доменно-интервальной фрагментации существует 1 такой, что (а,Ь) е ГНВ . По определению транзитивной относительно 1ЯВ фрагментации отсюда следует

(а С1) е 4 . с;

(а Си) е 4 . си-

Тогда с учетом (42) из (35) получаем (а) е р. Принимая во внимание (36), имеем (а) е Р . С учетом (37) и (1) отсюда следует, что существует г" е R такой, что

г". Л = а

и

Так как А — суррогатный ключ, из (45) и (46) следует, что г' = г". Вместе с (44) и (47) это дает (Ь,с,,...,си) е 2 , то есть (40) имеет место. Теорема доказана.

1.4. Декомпозиция операции объединения

В данном разделе рассматривается декомпозиция операции объединения двух отношений вида п^ В

не содержат дубликатов. Результирующее отношение также не должно содержать дубликатов.

Пусть заданы два отношения Я (Л,В,,...,Ви) и 8(Л,В,,...,Ви) , имеющие одинаковый набор атрибутов. Пусть имеется два набора колоночных индексов по атрибутам В,,.,Ви :

4.в, ,.'',4.Ви.

Пусть для индексов 1Я ^ и 18 ^ задана доменно-интервальная фрагментация степени к:

4в1= и 4В;

1=0

к-1 0I

я .В '

Пусть для индексов 1ЯВ ,..., 1ЯВ и 1Я в ,..., 1ЯВ задана транзитивная фрагментация отно-

сительно 1Я в и 1Я в соответственно:

V; е{2,..., и} I = 0I

к -1 Л

Я В; Я В

V 1=0 ' У

А к-1 1

V; е{2,...,и} = 0I Положим для всех 1 = 0,.,к -1 и , = 1,.,и

я . в, ~ . в

V >=0 ' У

Р" = я , ,

; ^ В . , В. .

-Я в м Iя в

_ Я . В (4,,. в,= 4в,.в,) я . В

Определим

Положим для всех 1 = 0,.,к -1

Р1=ПР

=1

РЯ = Ж

Р. =Хл\П . в

м Р1

Определим

Ря=0 ря ,

1=0 к-1

Р.=0 р. .

Построим отношение Q( А, В,,..., Ви) следующим образом:

Q = {&Я (р. А) | р е Ря }и{&. (р. А) | р е Р. } .

Теорема 4. Ж в., К (Q) = ^в,,.,ви (Я) ^ ^в,,.,ви (я) .

Доказательство. Сначала докажем, что

ЖВ.,ви (0 с Жв,,...,ви (Я) ^ Жв,.,ви (Я) .

Пусть

(Ь,,..., К) еЖв,. , в, (Q). Из (58) следует, что как минимум одно из следующих условий истинно:

(Ь,,..., Ьш) е^, ,ви ({& я (р. А) | р е Рд });

(Ь,,..., Ьш) е^, ,ви ({&. (р.А)|р е Р. }) .

Предположим сначала, что условие (61) истинно. Тогда существует р е РЯ такой, что

&Я (р.А) = г е Я

и

г = Ь1,...,Ьи),

где а = р.А . Отсюда получаем (Ь,,...,Ьи) е^в в (Я). Следовательно, (Ь,,..., Ьи) е жв в (Я) в (Я), и (59) имеет место. Для случая, когда истинным явля-

и

ется условие (62), это утверждение доказывается аналогично (в рассуждениях выше надо просто заменить R на S и г на з). Теперь докажем, что

пв1.В

По условию, объединение в правой части не должно содержать дубликатов (в предположении, что п^ В (Я) и п^ В (8) не содержат дубликатов). Такое объединение без

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

= п8*

8 \ Я.В, =8. В, л.лЯ.Ви =8 . Ви )

8=п-

пв1,...,ви (Я) и пв1,...,ви (8) = пв.ви (Я) и пв1,...,Ви (8) . (66) Поэтому условие (63) эквивалентно условию

пВ1,...,Ви

Покажем, что последнее истинно. Пусть (Ь,,..., Ьи) еп, В (Я) ип, В (8). Тогда

(Ь,,...,Ьи) е п, В (Я), либо (Ь,,...,Ьи) еп, В (8). Предположим сначала, что (Ь,,...,Ьи) е п, В (Я). Это означает, что существует г е Я такой, что

г.В, = Ь,,..., г.В и = Ьи.

Положим

г.Л = а .

По определению колоночного индекса (свойства (1) и (3)) отсюда следует что (а,Ь,) е . В силу свойств доменно-интервальной фрагментации существует 1 е N такое,

что (а,Ь,) е ГЯ, . Тогда с учетом (54) и (56) получаем

Р =

Положим

г' = & Я

По построению

г' . Л = а .

Принимая во внимание, что А — суррогатный ключ, из (72) и (69) следует

г = г'.

Из (58), (70), (71), (73) следует, что г е 0 . Вместе с (68) это дает (Ь,,...,Ьи) е п, В (0),

то есть (63) имеет место для рассмотренного случая. Предположим теперь, что

Это означает, что существует У е 8 такой, что

У.В, = Ь,,...,!.Ви = Ьи.

Положим

1.Л = а .

Из (65) следует, что У е 8. По определению колоночного индекса из (75) следует что

(а, Ь1) е 1. А;

..................

(а, Ьи ) е 18.Ви .

В силу свойств доменно-интервальной фрагментации существует 1 такой, что (а,Ь,) е Г8В . По определению транзитивной относительно 1ЗВ^ фрагментации отсюда, с

учетом (77), имеем

(а Ь2) е . в2;

(а К) е . ви .

Покажем, что

айР1

Предположим противное, то есть а еР1. Тогда существует (а',Ь,',...,) е Я такой, что (а',а) еР1. По определению колоночного индекса (а',Ь,' ) е 1ЯВ^ . В силу свойств доменно-интервальной фрагментации (а',Ь,' ) е ГЯ ^ . По определению транзитивной относительно -Я в фрагментации отсюда следует

(а ',Ь2) е I';

(а ', Ьи) е -

Но тогда с учетом (53) и (52) получаем

и/^ я.в,

Ь = Ь,;

Ь' = Ь .

и и

Отсюда в силу (64) следует (а,Ь,,...,Ьи) е Я. Принимая во внимание (65), получаем (а,Ь,,...,Ъи)йЯ . Так как мы предположили, что л^ в (Я) не содержит дубликатов, отсюда следует (Ь,,...,Ьи) й л^ в (Я). Получили противоречие с (74). Таким образом, (78) истинно. Тогда из (55) следует, что (а) е Р.. С учетом (57) получаем (а) е Р. . Теперь из (58), (76), (75) и (65) следует, что (а,Ь,,...,Ьи) е Q , то есть (Ь,,...,Ьи) е л^ в . Теорема доказана.

2. Декомпозиция реляционных операций с использованием фрагментированных колоночных хеш-индексов

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

2.1. Колоночный хеш-индекс

Определение 1. Пусть задано отношение Я(А,В,,.,Ви,...) . Пусть задана инъек-тивная хеш-функция h : в х ... х в ^ Ъа0. Колоночным хеш-индексом 1Ь(А,Н) атрибу-

тов В1,...,Ви отношения R будем называть упорядоченное отношение, удовлетворяющее тождеству:

1и = ти

Колоночный хеш-индекс обладает следующим основным свойством:

Уг ', г "е R

Заметим, что обратная импликация следует из инъективности хеш-функции h. Из (80) непосредственно вытекает следующее свойство колоночного хеш-индекса:

Уг ', г '' е R (И ( г ' Д,..„ г ' Ви )ф И ( г ".В,,., г '\Ви)« г ' Д Ф г ''Д V ... V г ' Ви Ф г'' .Ви).

Фрагментация колоночного хеш-индекса осуществляется на основе доменно-интервального принципа с помощью функции фрагментации р^ : 1Ь — {0,..., k -1}, определенной следующим образом:

Ух е 1и

где рЪ : Ъ >0 —^ {0,...,k -1} — доменная функция фрагментации для домена ЭН = Ъ >0.

2.2. Декомпозиция операции пересечения

В данном разделе рассматривается декомпозиция операции пересечения вида л^ В (Я) п л^ В (Б) с использование распределенных колоночных хеш-индексов. При

этом предполагается, что л^ В (Я) и л^ В (Б) не содержат дубликатов.

Пусть заданы два отношения Я (А,В,,...,Ви) и Б(А,В,,...,Ви) , имеющие одинаковый набор атрибутов. Пусть имеются два колоночных хеш-индекса 1ЯИ и 15И для атрибутов В!,...,Ви отношений R и 5, построенные с помощью одной и той же инъективной хеш-функции И : х •••х В — Ъ>0. Пусть для этих индексов задана доменно-интервальная фрагментация степени к:

к -1

1я,И = и1Я,И '

i=0 к-1

1Б,И = и 1Б,И .

i=0

Положим

р = Т А—А i' А—А \1Я,и ,, /Б,и

1я ,И  А—АЯ, 1Б,И-А—Ав 1

для всех 1 = 0,.,к -1. Определим

к-1

р=и р'.

1=0

Положим

Q = {&я (р. Ая )\р е Р}.

ТеоРема 5 Тв1. _ВВи (0) = лВ1:,Ви (Я) п лВ1:,Ви (Б).

Доказательство. Сначала докажем, что

лВ1:,Ви (0) с лВ1:,Ви (Я ) п лВ1:,Ви (Б) .

Пусть

(а,Ь,...,Ьи) е 0 .

82

83

84

85

86

87

88

Из (86) следует, что

и

а = г.А

Отсюда следует, что существует р е Р такой, что р.АК = а л р.= а'. С учетом (85) получаем, что существует г, для которого р е Р'. С учетом (84) отсюда получаем, что при некотором %е Ъ >0:

х)е 4,и с ^; (а ', х) е ^ис .

Поскольку хеш-функция h является инъективной, то для нее существует обратная функция. Положим (Ь/,...,Ь^) = И_1(х) . Тогда по определению колоночного хеш-индекса имеем

(а,Ъ[,...,Ъ'и) е К; (а,Ъ/ ,...,ъи) е я.

Поскольку А является суррогатным ключом в R, с учетом (89) получаем

(а,Ь„...,Ъи) е К; (а',Ь„...,Ъи) е Я.

Следовательно (Ъ1,.,Ъи) е в (К) п ж^ в (Я), и (87) имеет место. Теперь докажем, что

яВ,. ,ви

Пусть

Положим х = И(Ъ1,., Ъи) . Тогда по определению колоночного хеш-индекса

(а х) е 1к,ь;

(а ',Х) е 4,и.

В силу свойств доменно-интервальной фрагментации существует ' такой, что

(а х) е 4,и; (а ',X) е .

На основе (84) и (85) отсюда получаем (а,а') е Р' с Р. Поскольку А — суррогатный ключ в К , с учетом (86) имеем (а,Ъ1,.,Ъи) е Q и следовательно (Ъ1,.,Ъи) е ж^ в (Q). Таким образом (91) имеет место. Теорема доказана.

2.3. Декомпозиция операции объединения

Пусть заданы два отношения К (А,в^...,ви) и Я (А,в^...,ви) . Выполним декомпозицию операции объединения вида ж^ в (К) и ж^ в (Я). Пусть имеются два колоночных хеш-индекса 1КИ и для атрибутов в1,...,ви отношений R и 5, построенные с помощью одной и той же инъективной хеш-функции И : х х в ^ Ъ >0. Пусть для этих индексов задана доменно-интервальная фрагментация степени к :

и

к -1

1К,И = и 1К,И '

1=0 к-1

Р,и = и I

1Я,И ~ ,И

'=0

Положим

для всех ' = 0,.,к -1.

Р =Жа (4,И ) \ Ж^^ | I

Определим

Положим

Ж , I 1К И ^ 11И

к-1

Р=иР .

1=0

б = {&5 (р.А) | р е Р}.

Теорема 6 жв1, - ,ви (К) и жв,...,ви (б) = жв1,.,ви (К) и жв,...,ви (Я) . Доказательство. Сначала докажем, что

жв,.,ви

Пусть

, К) ежв1.^

Тогда как минимум одно из следующих условий истинно:

,Ъи) ежв1.^

, Ъи) ежв,.,в„

Если имеет место (101), то очевидно (Ъ1,.,Ъи) еж^ в (К) и ж^ в (Я) и (99) имеет место. Пусть истинно условие (102). Тогда из (98) следует, что существует р е Р такой, что

&Я (р.А) = 5 е Я

и

5 = (аЪ1,...,Ъи),

где а = р.А . Отсюда получаем (Ъ1,., Ъи) еж^ в (Я), то есть (Ъ1,., Ъи) еж^ в (К) и ж^ в (8) и (99) также имеет место. Теперь докажем, что

жв,.,

Пусть

, К) ежв1,..„в

Тогда как минимум одно из следующих условий истинно:

,Ъи) ежв1,...,в

, Ъи) ежв,.„в„

Если имеет место (105), то очевидно (Ъ1,.,Ъи) е ж^ в (К) и ж^ в (б) и (103) имеет место.

Пусть истинно условие (106) и Тогда существует

, Ъи) ^ , ви

5 =

Положим

Х = Щ,...,Ьи).

Тогда по определению колоночного хеш-индекса

X) е 4 ,к.

В силу свойств доменно-интервальной фрагментации существует i е{0,...,k -1} такой, что

(а, X)е 1Б,к.

Покажем, что

Предположим противное, то есть

Тогда существует (а') ел , (ГЯк) такой, что (а', х) е ГЯк. С учетом (109) в силу инъек-

1Я,к А \ , ' ,

тивности хеш-функции к получаем (а', Ь1,..., Ьи) е Я , то есть (Ь1,..., Ьи) ел^ в (Я). Получили противоречие с (107). Значит (110) имеет место. Из (110) и (96) следует, что (а) е р, и из (97) следует, что (а) е Р. Тогда из (98) следует, что существует 5 ' = (а,Ь{,...,Ь'и) е Q с Б. Так как А — суррогатный ключ, сопоставляя это с (108), получаем (а, Ь1,..., Ьи) = (а, Ь[,..., Ь'и) е Q , откуда (Ь1,..., Ьи) ел^ в (0). Таким образом (103) имеет место. Теорема доказана.

2.4. Декомпозиция операции естественного соединения

Пусть заданы два отношения

Я

и

Б(А,В1,...,Ви,Д,...,В^) . Пусть имеются два колоночных хеш-индекса 1Як и 1Бк для атрибутов В1,...,Ви отношений R и Б, построенные с помощью одной и той же инъективной хеш-функции к : х .••х в ^ Ъ>0. Пусть для этих индексов задана доменно-интервальная фрагментация степени к:

1як = и;

1=0 & -1

Ьл = и.

1=0

Положим

Р =Л!Я,к,.Ая,1Б,А.АБ

для всех 1 = 0,.,& -1. Определим

& -1

Р = и Р1.

1=0

Построим отношение 0(В1,., Ви, С1,..., Су, Д,..., В^) следующим образом:

Q = {(&д ( p.AR ).BX,...&R ( pAR ).BU,

&B

&s(p.As(p.As)Dw)|p e P}. Теорема 7. Q = жлA (A (S).

Доказательство. Сначала докажем, что

Q c^A

Пусть

Д,...,bu,ci,...,cv,di,...,dw)eQ .

Из (116) следует, что существуют кортежи r и s такие, что

и

С учетом (115) получаем, что существует i, для которого p e P'. С учетом (114) отсюда получаем, что при некотором %e Z>0 :

x) e IR,hc IR,h ; (a ', x)e I's,k c h,h.

Поскольку хеш-функция h является инъективной, то для нее существует обратная функция. Положим (ô",...,b'I) = h_1(x) . Тогда по определению колоночного хеш-индекса имеем

Поскольку A является суррогатным ключом в R и S, из (119), (120), (122) и (123) следует bi = b;= Ц ,bu = bU = bU, то есть

(a, ôl,..., bu, cl,., c ) e R,

(a',ô,...,b ,d,,.--,d ) e S.

V ? i ? ' u ' i ' > w /

Следовательно (bi,.,bu,ci,.,cv,di,.,dw) e ;r,NA(A(S), и (117) имеет место. Теперь докажем, что

Q ^A

Пусть

и

Положим х = И(Ъ1,., Ъи) . Тогда по определению колоночного хеш-индекса

(а х) е !к,и; (а ', х) е 4 ,и.

В силу свойств доменно-интервальной фрагментации существует ' е{0,...,к -1} такой, что

(а х) е 1'К,и; (а ', X) е 1Я,и.

На основе (114) и (115) отсюда получаем (a,a') е P' с P. Поскольку A — суррогатный ключ в R и S, с учетом (116), (125) и (126) имеем фг,...,bu,c1,...,cv,dl,...,dw) е Q . Таким образом (124) имеет место. Теорема доказана.

Заключение

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

Работа выполнена при финансовой поддержке Минобрнауки РФ в рамках ФЦП «Исследования и разработки по приоритетным направлениям развития научно-технологического комплекса России на 2014—2020 годы» (Госконтракт № 14.574.21.0035).

Литература

1. Чернышев, Г.А. Организация физического уровня колоночных СУБД / Г.А Чернышев // Труды СПИИРАН. — 2013. — № 7. Вып. 30. — С. 204-222.

2. Abadi, D.J. The Design and Implementation of Modern Column-Oriented Database Systems / D.J. Abadi, P.A. Boncz, S. Harizopoulos, S. Idreos, S. Madden // Foundations and Trends in Databases. — 2013. — Vol. 5, No. 3. — P. 197-280. DOI: 10.1561/1900000024.

3. Abadi, D.J. Column-Stores vs. Row-Stores: How Different Are They Really? / D.J. Abadi, S.R. Madden, N. Hachem // Proceedings of the 2008 ACM SIGMOD international conference on Management of data, June 9-12, 2008, Vancouver, BC, Canada. — ACM, 2008. — P. 967-980. DOI: 10.1145/1376616.1376712.

4. Иванова, Е.В. Декомпозиция операций пересечения и соединения на основе доменно-интервальной фрагментации колоночных индексов / Е.В. Иванова, Л.Б. Соколинский // Вестник Южно-Уральского государственного университета. Серия: Вычислительная математика и информатика. — 2015. — Т. 4, № 1. — С. 44-56. DOI: 10.14529/cmse150104.

5. Ivanova, E. Decomposition of Natural Join Based on Domain-Interval Fragmented Column Indices / E. Ivanova, L. Sokolinsky / / Proceedings of the 38th International Convention on Information and Communication Technology, Electronics and Microelectronics, MIPRO, May 25-29, 2015, Opatija, Croatia. — IEEE, 2015. — P. 223-226. DOI: 10.1109/mipro.2015.7160266.

6. Иванова, Е.В. Использование сопроцессоров Intel Xeon Phi для выполнения естественного соединения над сжатыми данными / Е.В. Иванова, Л.Б. Соколинский // Суперкомпьютерные дни в России: Труды международной конференции (28-29 сентября 2015 г., Москва). — М.: Изд-во МГУ, 2015. — C. 190-198.

7. Иванова, Е.В. Использование распределенных колоночных индексов для выполнения запросов к сверхбольшим базам данных / Е.В. Иванова, Л.Б. Соколинский // Параллельные вычислительные технологии (ПАВТ'2014). Труды международной научной конференции. — Челябинск: Издательский центр ЮУрГУ, 2014. — С. 270275.

8. Иванова, Е.В. Декомпозиция операции группировки на базе распределенных колоночных индексов / Е.В. Иванова, Л.Б. Соколинский // Наука ЮУрГУ. —

Челябинск: Издательский центр ЮУрГУ, 2015. — С. 15-23.

9. Иванова, Е.В. Исследование эффективности использования фрагментированных колоночных индексов при выполнении операции естественного соединения с использованием многоядерных ускорителей / Е.В. Иванова // Параллельные вычислительные технологии (ПаВТ'2015): труды международной научной конференции (30 марта — 3 апреля 2015 г., Екатеринбург). — Челябинск: Издательский центр ЮУрГУ, 2015. — С. 393-398.

10. Иванова, Е.В. Использование распределенных колоночных хеш-индексов для обработки запросов к сверхбольшим базам данных / Е.В. Иванова // Научный сервис в сети Интернет: многообразие суперкомпьютерных миров: Труды Международной суперкомпьютерной конференции (22-27 сентября 2014 г., Новороссийск). — М.: Изд-во МГУ, 2014. — С. 102-104.

Иванова Елена Владимировна, программист отдела поддержки и обучения пользователей Лаборатории суперкомпьютерного моделирования, Южно-Уральский государственный университет (Челябинск, Российская Федерация), Elena.Ivanova@susu.ru.

Соколинский Леонид Борисович, д. ф.-м. н., профессор, проректор по информатизации, Южно-Уральский государственный университет (Челябинск, Российская Федерация), Leonid.Sokolinsky@susu.ru.

Поступила в редакцию 5 сентября 2015 г.

E.B. HsaHOBa, JI.B. Cokojihhckhh

Bulletin of the South Ural State University Series "Computational Mathematics and Software Engineering"

2015, vol. 4, no. 4, pp. 80-100

DOI: 10.14529/cmse150405

PARALLEL DECOMPOSITION OF RELATIONAL OPERATIONS BASED ON FRAGMENTED COLUMN INDICES

E. V. Ivanova, South Ural State University

Elena.Ivanova@susu.ru,

L.B. Sokolinsky, South Ural State University

Leonid.Sokolinsky@susu.ru

This paper is a continuation and development of the previous our work, where the decompositions of intersection and join operations for columnar indices on the basis of domain-interval fragmentation were proposed. This decomposition allows to organize the parallel execution of relational operations on the distributed columnar indices without massive data exchange between the processor nodes. In this paper the decompositions of the projection, selection, duplicate elimination and union operations are considered. Also, a new kind of columnar indices called columnar hash-indices is introduced. The columnar hash-index can index multiple attributes of a relation. For distributed columnar hash-indices, the decompositions of intersection, union, and natural join operations are considered.

Keywords: distributed column indices, domain-interval fragmentation, column hash indices, decomposition of relational operations.

References

1. Chernyshev G.A Organizaciya fizicheskogo urovnya kolonochnyh SUBD [Physical Layer Organization of Columnar DBMS] // Trudy SPIIRAN [Proceedings of the SPIIRAS]. 2013. Vol. 7. No. 30. P. 204-222.

2. Abadi D.J., Boncz P.A., Harizopoulos S., Idreos S., Madden S. The Design and Implementation of Modern Column-Oriented Database Systems // Foundations and Trends in Databases. 2013. Vol. 5, No. 3. P. 197-280. DOI: 10.1561/1900000024.

3. Abadi D.J., Madden S.R, Hachem N. Column-Stores vs. Row-Stores: How Different Are They Really? / / Proceedings of the 2008 ACM SIGMOD international conference on Management of data, June 9-12, 2008, Vancouver, BC, Canada. ACM, 2008. P. 967-980. DOI: 10.1145/1376616.1376712.

4. Ivanova E.V., Sokolinsky L.B. Dekompoziciya operacij peresecheniya i soedineniya na osnove domenno-interval'noj fragmentacii kolonochnyh indeksov [Decomposition of Intersection and Join Operations Based on Domain-Interval Fragmented Column Indices] // Vestnik Yuzhno-Ural'skogo gosudarstvennogo universiteta. Seriya «Vychislit-el'naya matematika i informatika» [Bulletin of South Ural State University. Series: Computational Mathematics and Software Engineering]. 2015. Vol. 4, No. 1. P. 44-56. DOI: 10.14529/cmse150104.

5. Ivanova E., Sokolinsky L. Decomposition of Natural Join Based on Domain-Interval Fragmented Column Indices // Proceedings of the 38th International Convention on In-

formation and Communication Technology, Electronics and Microelectronics, MIPRO, May 25-29, 2015, Opatija, Croatia. IEEE, 2015. P. 223-226. DOI: 10.1109/mipro.2015.7160266.

6. Ivanova E.V., Sokolinsky L.B. Ispol'zovanie soprocessorov Intel Xeon Phi dlya vy-polneniya estestvennogo soedineniya nad szhatymi dannymi [Using Intel Xeon Phi coprocessor for execution of natural join on compressed data] // Superkomp'yuternye dni v Rossii: Trudy mezhdunarodnoj konferencii [Russian Supercomputer Days: Proceedings of the International Conference], September 28-29, 2015, Moscow, Russia. Moscow: MSU publishing center, 2015. P. 190-198.

7. Ivanova E.V., Sokolinsky L.B. Ispol'zovanie raspredelennykh kolonochnykh indeksov dlya vypolneniya zaprosov k sverkhbol'shim bazam dannykh [Using Distributed Column Indices for Query Execution for Very Large Databases] // Parallel'nye vychislitel'nye tekhnologii (PaVT'2014). Trudy mezhdunarodnoy nauchnoy konferentsii [Proceedings of the International Conference Parallel Computational Technologies (PCT'2014)]. Chelyabinsk: SUSU publishing center, 2014. P. 270-275.

8. Ivanova E.V., Sokolinsky L.B. Dekompoziciya operacii gruppirovki na baze raspredelen-nyh kolonochnyh indeksov [Decomposition of Grouping Operation Based on Fragmented Column Indices] // Nauka YUUrGU [Science of SUSU]. Chelyabinsk: SUSU publishing center, 2015. P. 15-23.

9. Ivanova E.V. Issledovanie ehffektivnosti ispol'zovaniya fragmentirovannyh kolonochnyh indeksov pri vypolnenii operacii estestvennogo soedineniya s ispol'zovaniem mnogo-yadernyh uskoritelej [Research of efficiency fragmented columnar indices for the natural join operation using multi-core accelerators.] / / Parallel'nye vychislitel'nye tekhnologii (PaVT'2015). Trudy mezhdunarodnoy nauchnoy konferentsii [Proceedings of the International Conference Parallel Computational Technologies (PCT'2015)], March 30 — April 3, 2015, Ekaterinburg, Russia. Chelyabinsk: SUSU publishing center, 2015. P. 393398.

10. Ivanova E.V. Ispol'zovanie raspredelennyh kolonochnyh hesh-indeksov dlya obrabotki zaprosov k sverhbol'shim bazam dannyh [Using Distributed Column Hash Indices for Query Execution for Very Large Databases] // Nauchnyj servis v seti Internet: mnogoobrazie superkomp'yuternyh mirov: Trudy Mezhdunarodnoj superkomp'yuternoj konferencii [Scientific service in Internet: The variety of supercomputing worlds: Proceedings of the International Supercomputer Conference], September 22-27, 2014, Novorossiysk, Russia. Moscow: MSU publishing center, 2014. P. 102-104.

Received September 5, 2015.