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

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

CC BY
305
46
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СВЕРХБОЛЬШИЕ БАЗЫ ДАННЫХ / ПАРАЛЛЕЛЬНАЯ ОБРАБОТКА ЗАПРОСОВ / КОЛОНОЧНЫЕ ИНДЕКСЫ / ДОМЕННО-ИНТЕРВАЛЬНАЯ ФРАГМЕНТАЦИЯ / ДЕКОМПОЗИЦИЯ РЕЛЯЦИОННЫХ ОПЕРАЦИЙ / VERY LARGE DATABASES / PARALLEL QUERY PROCESSING / COLUMN INDICES / DOMAIN-INTERVAL FRAGMENTATION / DECOMPOSITION OF RELATIONAL OPERATIONS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Иванова Елена Владимировна, Соколинский Леонид Борисович

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Иванова Елена Владимировна, Соколинский Леонид Борисович

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

DECOMPOSITION OF INTERSECTION AND JOIN OPERATIONS BASED ON THE DOMAIN-INTERVAL FRAGMENTED COLUMN INDICES

The paper presents decomposition of relational operations based on distributed column indices and domain-interval fragmentation. This decomposition admits parallel executing the resource-in-tensive relational operations without data transfers. All column index fragments are stored in main memory in compressed form to conserve space. During the parallel execution of relational operations, compressed index fragments are loaded on different processor cores. These cores uncompress fragments, perform relational operations and compress fragments of partial result, which is a set of keys. Partial results are merged in the resulting set of keys. DBMS use the resulting set of keys for building the resulting table. Described approach allows efficient parallel query processing for very large databases on modern computing cluster systems with many-core accelerators.

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

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

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

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

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

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

Введение

В настоящее время научно-практическая деятельность человека выдвигает все новые масштабные задачи, требующие обработки сверхбольших баз данных. Согласно прогнозам аналитической компании IDC, количество данных в мире удваивается каждые два года и к 2020 г. достигнет 44 Зеттабайт, или 44 триллионов гигабайт [1]. При этом современные технологии баз данных не могут обеспечить обработку столь крупных объемов данных. По оценке IDC в 2013 г. из всего объема существующих данных потенциально полезны 22%, из которых менее 5% были подвергнуты анализу. К 2020 году процент потенциально полезных данных может вырасти до 35%, преимущественно за счет данных от встроенных систем.

Фактически единственным эффективным решением проблемы хранения и обработки сверхбольших баз данных является использование параллельных систем баз данных, обеспечивающих распределенную обработку запросов на многопроцессорных вычислительных системах с распределенной памятью [2-6].

Традиционным подходом к организации хранения баз данных является строковое представление данных. Однако при выполнении типичных аналитических запросов к таблицам требуется считывать только небольшую часть полей в строках этих таблиц, поэтому строковое представление в этом случае оказывается неэффективным. Причиной этого является считывание с диска «лишних» полей в дополнение к тем полям, которые необходимы в данном запросе [7]. Возможным решением этой проблемы может быть использование механизмов колоночного представления данных, позволяющих получить на порядок лучшую производительность при обработке аналитических запросов [8]. Колоночное представление данных заключается в том, что данные хранятся не по строкам, а

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

В последние годы основным способом наращивания производительности процессоров является увеличение количества ядер, а не тактовой частоты, и эта тенденция, вероятно, сохранится [9]. Сегодня GPU (Graphic Processing Units) и Intel MIC (Many Integrated Cores) значительно опережают традиционные процессоры в производительности по арифметическим операциям и пропускной способности памяти, позволяя использовать сотни процессорных ядер для выполнения десятков тысяч потоков. Последние исследования показывают, что многоядерные ускорители могут эффективно использоваться для обработки запросов к базам данных в оперативной памяти [10-12].

В соответствие с этим актуальной является задача разработки новых эффективных методов параллельной обработки баз данных в оперативной памяти на современных многопроцессорных вычислительных системах с многоядерными ускорителями, с использованием колоночного представления и сжатия данных. Для решения этой задачи в работах [13, 14] были предложены индексные структуры специального вида, которые называются распределенными колоночными индексами. Распределенные колоночные индексы позволяют провести декомпозицию реляционных операций, допускающую их эффективное параллельное выполнение на кластерных вычислительных системах с многоядерными ускорителями. В данной работе рассмотрены вопросы декомпозиции следующих реляционных операций: пересечения, естественного соединения и тета-соединения. Для обозначения реляционных операций в статье используется нотация, заимствованная из монографии [15]. Символом ° обозначается конкатенация кортежей.

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

1. Колоночный индекс и доменно-интервальная фрагментация

Под R(A ,Bj,...,Bu) будем понимать отношение R с первичным ключом A и атрибутами Bj,...,Bu, представляющее собой множество кортежей длины u +1 вида (a,bj,.,bu), где a е Zа0 и Vj e{j,...,u}^b/ e0B,). Здесь DB - домен атрибута Bj. Через r.Bj будем обозначать значение атрибута B/, через r.A - значение первичного ключа в кортеже r: r = (r.A,r.BJ,...,r.Bu). Первичный ключ отношения R обладает свойством

Уг', г "е Я (г' Ф г" О г '.А Ф г".А). Под адресом кортежа г мы будем понимать значение первичного ключа этого кортежа. Для получения кортежа отношения R по его адресу будем использовать функцию разыменования & Я : У г е Я (&Я (г.А) = г).

Определение 1. Пусть задано отношение Я(А ,В,...), Т(Я) = п . Пусть на множестве Э В задано отношение линейного порядка. Колоночным индексом 1ЯВ атрибута В отношения Я называется упорядоченное отношение 1Я В (А ,В) , удовлетворяющее следующим требованиям:

Т(1яв ) = п и Па (4в )= П (Я) ; (1)

Уxl, Х2 е 1Я.В (Х1 ^ Х2 О х1В ^ Х2В) ; (2)

У г е Я (Ух е 1КВ (г. А = х.А ^ г.В = х.В)) . (3)

Условие (1) означает, что множества значений первичных ключей (адресов) индекса и индексируемого отношения совпадают. Условие (2) означает, что элементы индекса упорядочены в порядке возрастания значений атрибута В. Условие (3) означает, что атрибут А элемента индекса содержит адрес кортежа отношения Я, имеющего такое же значение атрибута В , как и у данного элемента колоночного индекса.

Теорема 1. Пусть задано отношение Я(А ,В,.). Пусть для отношения Я задан колоночный индекс 1Я В . Тогда

Пв ( 1я.в ) = Пв (Я) . (4)

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

Доказательство. Возьмем произвольное Ь е ЭВ . Пусть Т (аВ=Ъ (Я)) = k . Без ограничения общности мы можем считать, что У г е Я (г.А < k О г.В = Ъ) . Тогда из (1) и (3) следует, что Ух е 1ЯВ (х.А <k О х.В = Ъ) . Откуда получаем Т(аВ=ъ (1ЯВ)) = k . Таким образом (4) имеет место. Теорема доказана.

Определение 2. Пусть на множестве значений домена Э В задано отношение линейного порядка. Пусть также задано разбиение множества Э В на к > 0 непересекающихся интервалов:

К = К; VI ] Л =( У2 ] ,.,Ук - =( Vk Vk ];

у0 <V! <...<Ук;

к -1

ЭВ = IV.

I=0

(5)

Функция : ЭВ —> |0,..., к -1} называется интервальной функцией фрагментации для домена ЭВ , если она удовлетворяет следующему условию:

У / е {0,.,к - 1}(уЪ е ЭВ (ф^ (Ъ) = / О Ъ е V)) . (6)

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

Р1р„в : 1*.в ^{0,., k —1} (7)

называется доменно-интервальной функцией фрагментации [3] для индекса ГЯ в , если она удовлетворяет следующему условию:

Vх е 1Е в (р1кв (х) = Рэв (х . в)) . (8)

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

4в ={х 1 х е [кв; Р/,в (х) ='}. (9)

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

Доменно-интервальная фрагментация обладает следующими фундаментальными

свойствами, вытекающими непосредственно из ее определения:

к —1

1я.в = и 4в; (10)

/=0

V/', ] е {0,—,к —1}(/' * ] ^ ГКв П Г]КЗ =0) . (11)

Теорема 2. Пусть для колоночного индекса 1яв отношения Я(А ,в,.) задана до-

менно-интервальная фрагментация степени к . Тогда

V/ е{0, —,к — 1}^х е ГЯ.в (х е Гяв о х.в еК )) . (12)

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

V/ е{0, —,к — 1}^х е ГЯ.в (х е Гяв ^ х.в еК)) . (13)

Пусть х е Гкв . Тогда из (9) следует р1р (х) = /. С учетом (8) получаем рЭ (х.в) = /. Отсюда и из (6) следует х.в е V, то есть (13) имеет место. Теперь докажем, что

V/ е{0, —,к — 1}^х е ГЯ.в (х.в е V ^ х е Г'яв)) . (14)

Пусть х е Гкв и х.в е V . Тогда из (6) следует, что рЭ (х.в) = /. С учетом (8) получаем рЭ (х.в) = р1яв (х) = /. Отсюда и из (9) следует, что х е Гкв , то есть (14) имеет место. Теорема доказана.

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

Пусть заданы два отношения Я(А ,в1,.,ви) и £(А ,в1,.,ви) , имеющие одинаковый набор атрибутов. Мы предполагаем, что ^(ж^ в (Я)) = ж^ в (Я) и 8(ж^ в (£)) = жв в (£) , то есть ж^ в (Я) и ж^ в (£) не содержат дубликатов. Пусть имеется два набора колоночных индексов по атрибутам

в,,...,в :

1' 'и

1Я.В1,., 1Я.Ви ;

.В,.,Ь.Ви .

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

к-1

!я.В] = и (15)

I=0 к-1

4в,= и. (16)

1=0

Положим

Р 1 = П , ,

] ^.в,.А—ая , ^.в,.А—^

I1 м I1

ЯВ] (4в].В]= 1кв].В]) ^

(17)

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

к-1

Р = и Р]. (18)

1=0

Положим

и

Р=П Р. (19)

]=1

Определим

б = {г | г е Я л г. А епА (Р)} . (20)

Теорема 3. Пв1,.,ви (б) = ПВ1.,,Ви (Я) ППВ1.,Ви (.

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

(б) с Пв1.

В (Я) ППВ,.,Ви (Я). (21)

Пусть

(а,,Ъи) е б . (22)

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

(а,Ъ1,.,Ъи) = г е Я (23)

и

а = г.А епАк (Р) . (24)

Отсюда следует, что Зр е Р(р.АЯ = а л р.АЯ = а'). С учетом (19) получаем, что

У/е{1,..., и}(Зр е Р, (р.АЯ = а л р.АЯ = а')). С учетом (18) отсюда получаем У] е {1,.,и}(З1 е {0,.,к - 1}(Зр е Р] (р.АЯ = а л р.А3 = а'))). Отсюда и из (15)-(17) следует, что

У] е {1,..., и} (зх е 1КЯ] (Зу е (х.А = а л х.В, = у.В, л у.А = а'))).

По определению колоночного индекса отсюда получаем

У е {1,и} (зг е Я (з? е Я(?. А = а л г.В, = г.В, л 5. А = а '))).

Поскольку A является первичным ключом в R и 5, с учетом (23) отсюда следует (а',Ъ1,.,Ъи) е Я , то есть (Ъ1,.,Ъи) еп^ в (Я)пПд в (£) . Таким образом (21) имеет место.

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

Пв„.,ви (Я)ппв,,.„в (Я) спд.,Ви (б) . (25)

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

Пусть

(а,Ь1, —,Ьи) = г е Я (26)

и

(а',Ь1, —,Ьи) = 5 е £ . (27)

Тогда по определению колоночного индекса с учетом (4) имеем

V] е {1,—, и}(зх е ГКВ] (Зу е ^ (х.А = а л х.в, = Ь} = .у.в, л .у.А = а'))).

На основе (12) отсюда получаем

V] е{1, —, и}(з/ е{0, —,к — 1}(зх е Г^^ (Зу е Г£.в (х. А = а л х.в, = у.в] л у. А = а')))).

С учетом (17) отсюда следует

V] е{1, —, и}(З/ е{0, —,к — 1}(Зр е Р] (р.АЯ = а л р.А£ = а'))) .

Применяя (18) получаем

V] е {1,—, и} (Зр е р (р.Ак = а л р.А8 = а')). Учитывая (19) отсюда имеем (а,а') е Р . Вместе с (20) и (26) это дает

(а, Ь1, —, Ьи) е Q , то есть (25) имеет место. Теорема доказана.

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

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

Я (А*, в;,..., ви, с;,—, с)

и

£(А*,в.ви,Ц,—,Я).

Пусть имеется два набора колоночных индексов по атрибутам в1,...,ви :

ГЯ.в1,.,Гя.ви ; Г£Д,.",Г£.ви .

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

к—1

Гя.В]= иГЦ ; (28)

/=0

Г£.в= и ГЦ. (29)

/=0

Положим

Р / = ж, ,

] ГЯ .5] .АЯ , Г£. в] .А

^ Л

Г' м Г'

Яв] гЯ.в.в,= Г£в .в, £в]

У К.В] ] £.в] ] у

(30)

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

к—1

Р=и Р. (31)

/■=0

Положим

Определим

р=ПР. (32)

]=1

0 = {г о (¿.Д,—, ¿.Д) | г е Я л 5 е £ л (г.А, ¿.А) е Р} . (33)

Теорема 4. ж„хА (0) = ж„хА (Я)мж.\А (£).

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

ж^ (0) с ж^ (Я)мж„\ А (£). (34)

Пусть

(аЬ1,—,Ьи,С1,—,с,,,) е 0 . (35)

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

(а,Ь1,—,Ьи,С1,—,с,) = г е Я , (36)

(а', Ь/,—, Ьи, ¿1,—, ) = 5 е £ (37)

и

(г.А,5.А) е Р . (38)

Отсюда следует, что Зр е Р(р.АЯ = а л р.А£ = а'). С учетом (32) получаем, что V] е{1,—, и}(Зр е Р] (р.АЯ = а л р.А£ = а')). С учетом (31) отсюда получаем V] е{1, —, и}(З/ е{0, —, к — 1}(Зр е Р] (р.АЯ = а л р.А£ = а'))). Отсюда и из (28)—(30) следует, что

V] е {1,—, и} (Зх е Г^ (Зу е ^ (х.А = а л х.в] = у.в] л у.А = а'))).

По определению колоночного индекса отсюда получаем

V] е {1,—, и} (Зг е Я(з? е £(Г.А = а л г.в } = г.в] л 5.А = а'))).

Поскольку А является первичным ключом в Я и 5, с учетом (36) и (37) отсюда следует (а', Ь1,—,Ьи,¿1,—, ) е £ , то есть (Ь1,—, Ьи, с„—,с,¿1,—,) еж,1А (Я)Мж„\А(£) . Таким образом (34) имеет место.

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

ж*\ а (Я)мж„\ А (£) сж,\ а (0). (39)

Пусть

(а,Ь1,—,Ьи,С1,—,с) = г е Я (40)

и

(а', Ь1,—,Ьи, ¿1,—, ) = 5 е £ . (41)

Тогда по определению колоночного индекса с учетом (4) имеем

V] е {1,—, и}(зх е Г^ (Зу е Г^ (х.А = а л х.в] = Ь} = у.в] л у.А = а'))).

На основе (12) отсюда получаем

V] е{1, —, и}(з/ е{0, —,к — 1}(зх е Г^^ (Зу е Г£.в (х. А = а л х.в] = у.в^ л у. А = а')))).

С учетом (30) отсюда следует

V] е{1, —, и}(З/ е{0, —,к — 1}(Зр е Р] (р.АЯ = а л р.А£ = а'))) .

Применяя (31) получаем

V] е {1,—, и} (Зр е Р (р.АК = а л р.А8 = а')). Учитывая (32) отсюда имеем (а,а') е Р . Вместе с (33), (40) и (41) это дает

(а, Ь,,—, Ь , с,—, с , ,—, d ) е 0 ,

V ? 1? 'и' 1? ' V? 1' ' ^ ^ ■

то есть (39) имеет место. Теорема доказана. 4. Декомпозиция операции тета-соединения

Пусть заданы два отношения Я (А , В1,., Ви) и Я (А , С1,., СУ) . Пусть также заданы функции / :пв1.,ви (Я) — ® и g :пс1.с,(Я) — К. Определим Я = п/(гА,...,г.ви)—, (Я) и Я = пAg(sSCí .,sC)—а(Я) . Пусть имеются колоночные индексы 1ЯР и . Пусть для этих индексов задана доменно-интервальная фрагментация степени к :

Положим

Определим

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

Положим

Определим

/Я г = и I

1=0

к-1

^ а =и I s .а

1=0

Р = п II- м Т-

1 Гц.,. А—Ая ^^аА—АЯ^^Р г<а Я а I

(I- м Г- )

м, = па—Ая (4,);

NI = пА—А3 (4.а )

к-1

Р = мг х и N .

1=1+1

Р = Р ^ Р;

Р = и р

б = {г о 51 г е Я л 5 е Я л (г.А, 5.А) е Р}.

(42)

(43)

(44)

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

(45)

(46)

(47)

(48)

(49)

(50)

Теорема 5. Я. А, 8. А (б) = п *\Я. (Я) ,, „ „ м , „ „ , П*\А (Я).

• ■ /(г.В1,..,г.Ви )<g(s.C1,.,s.Cv)

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

П А (б) с п *\А (Я) ,, „ „ м , „ „ , П*\А (Я)

/(т.В1,..,т.Ви )<g(^1,...,¿.Ц,)

(51)

(52)

Пусть

(a,Ъ1,.,Ъи,а',Cl,.,с) е б . Из (50) следует, что существуют кортежи г и з такие, что

(а,Ъ1,...,Ъи) = г е Я , (53)

(а',с1,.,с,) = 5 е Я (54)

и

(г.А,5.А) е Р . (55)

Отсюда следует, что Зр е Р(р.АЯ = а л р.АЯ = а '). Отсюда и из (49) получаем, что существует 1 е {0,.,к -1}, такой, что

р е Р л р. АЯ = а л р. АЯ = а'. (56)

=0

В силу (48) имеем p е p v p е Pi. Рассмотрим сначала случай, когда p е p. Тогда из (56) и (42)-(44) следует, что

Зх е IRp (Зу е I^a (x.A = a л x.F < y.G л у.A = a ')).

По определению колоночного индекса отсюда получаем

Зг е R(3s е S(r.A = a л s A = a' л f (r.B1,. • •,rA) < g(s.Q,...,s.Cv))) . (57)

Поскольку A является первичным ключом в R и S, с учетом (53) и (54) отсюда следует, что r = abu), s = (a\ci,.,О и bu,С)ек*\А(R)f( B B <(C C k*\a(S).

f (гД,...,r.Bu )<g(s.Q,...,s.C, )

Таким образом, (51) имеет место.

Пусть теперь p еp . Тогда из (56), и (45)-(47) следует, что существуют i е {0,.,k-1} и l е {i +1,.,k -1} , такие, что

Зх е IR.F (x.A = a), (58)

ЗУ е 4, (У.A = a '). (59)

Так как l > i , то по определению колоночного индекса и доменно-интервальной фрагментации из (58) и (59) получаем, что

Зх е IRf (Зу е IgG ( x. A = a л у. A = a ' л x.F < у .G )) ,

откуда следует (57), и, таким образом, (51) также имеет место.

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

К A (R) „ „ „ * _ КA (S) С ^R

. A,S. A (0. (60)

f(r.Blv..,r.Bu )<g(s.C!,..,s.Cv )

Пусть

(a,bi,.,bu) = r е R , (61)

(a',c1,.,Cv) = s е S , (62)

и

f(bi,...,bu) < g(ci,.,cv). (63)

Тогда по определению колоночного индекса с учетом (4) имеем

Зx е 1 R.F (ЗУ е IS.a (x.A = a л x F = bu) < g(cl,.,cv) = У а л y.A = a')) .

На основе (5)-(9) и (12) отсюда следует, что возможны только два следующих случая:

1) Зi е {0,...,k-1}(x е Р^ лу е I^) ; (64)

2) Зi е {0,...,k- 1}(З1 е {i + 1,...,k-1}(x е IR.F лу е Il.a)). (65) Допустим сначала, что имеет место первый случай. Тогда с учетом (44) из (64) следует

Зi е {0,...,k- 1}(3p е p (p.AR = a л p.AS = a')) .

Учитывая (48) и (49) отсюда имеем (a,a') е P . Вместе с (50), (61) и (62) это дает

(a,bl,...,bu,ci',с^..cv) е Q ,

то есть (60) имеет место.

Теперь допустим, что имеет место второй случай. Тогда с учетом (47) из (65) следует

Si е {0,.,k- 1}(Ep е p (p.AR = a лp.As = a')) .

Учитывая (48) и (49) отсюда имеем (a,a') е P . Вместе с (50), (61) и (62) это дает

(a,bl,...,bu,a',с^..cv) е Q ,

то есть (60) имеет место. Теорема доказана.

Заключение

В статье были представлены формальные описания методов декомпозиции операций пересечения, естественного соединения и тета-соединения по неравенству на основе до-менно-интервальной фрагментации колоночных индексов. Для каждого метода была доказана его корректность. Практическая ценность предложенных методов декомпозиции заключается в том, что ресурсоемкие вычисления могут производиться независимо над соответствующими фрагментами. Для операции пересечения это - вычисление Pj по формуле (17), для операции естественного это - вычисление Pj по формуле (30), для тета-соединения это - вычисление р по формуле (44). В дальнейшем мы планируем разработать методы декомпозиции для операций тета-соединения с конъюнкцией, дизъюнкцией и отрицанием, а также для операции группировки.

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

Литература

1. Turner, V. The Digital Universe of Opportunities: Rich Data and the creasing Value of the Internet of Things. — White paper. — International Data Corporation. — 2014. / V. Turner, J.F. Gantz, D. Reinsel, et al. URL: http://idcdocserv.com/1678 (дата обращения: 29.01.2015)

2. Соколинский, Л.Б. Параллельные машины баз данных / Л.Б. Соколинский // Природа. — 2001. — № 8. — С. 10-17.

3. Соколинский, Л.Б. Параллельные системы баз данных / Л.Б. Соколинский — Москва: Издательство Московского государственного университета, 2013. — 184 с.

4. Sokolinsky, L.B. Design and Evaluation of Database Multiprocessor Architecture with High Data Availability / L.B. Sokolinsky / / Proceedings of the 12th International workshop on database and expert systems applications. — IEEE Computer Society, 2001. — P. 115-120.

5. Pan, C.S. Taming Elephants, or How to Embed Parallelism into PostgreSQL / C.S. Pan, M.L. Zymbler // Lecture Notes in Computer Science. — 2013. — Vol. 8055, Part 1. — P. 153-164.

6. Костенецкий, П.С. Моделирование иерархических многопроцессорных систем баз данных / П.С. Костенецкий, Л.Б. Соколинский // Программирование. — 2013. — Т. 39, № 1. — С. 3-22.

7. Plattner, H. In-Memory Data Management: An Inflection Point for Enterprise Applications / H. Plattner, A. Zeier — Springer, 2011. — 254 p.

8. 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.

9. Fang, J. Sesame: A User-Transparent Optimizing Framework for Many-Core Processors / J. Fang, A.L. Varbanescu, H. Sips // Proceedings of the 13th IEEE/ACM International

Symposium on Cluster, Cloud and Grid Computing (CCGrid2013), May 13-16, 2013, Delft, Netherlands. — IEEE, 2013. — P. 70-73.

10. BreE, S. Efficient Co-Processor Utilization in Database Query Processing / S. BreE, F. Beier, H. Rauhe, et al. // Information Systems. — 2013. — Vol. 38, No. 8. — P. 10841096.

11. Scherger, M. Design of an In-Memory Database Engine Using Intel Xeon Phi Coprocessors / M. Scherger // Proceedings of the International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA'14), July 21-24, 2014, Las Vegas, USA.

— CSREA Press, 2014. — P. 21-27.

12. Беседин, К.Ю. Моделирование обработки запросов на гибридных вычислительных системах с многоядерными сопроцессорами и графическими ускорителями / К.Ю. Беседин, П.С. Костенецкий // Программные системы: теория и приложения. — 2014.

— Т. 5, № 1-1 (19). — С. 91-110.

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

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

15. Гарсиа-Молина, Г. Системы баз данных. Полный курс. / Г. Гарсиа-Молина, Дж. Ульман, Дж. Уидом — М.: Издательский дом «Вильямс». — 2004. — 1088 с.

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

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

Leonid.Sokolinsky@susu.ru.

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

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

2015, vol. 4, no. 1, pp. 44-56

DOI: 10.14529/cmse150104

DECOMPOSITION OF INTERSECTION AND JOIN OPERATIONS BASED ON THE DOMAIN-INTERVAL FRAGMENTED COLUMN INDICES

E. V. Ivanova, South Ural State University (Chelyabinsk, Russian Federation),

L.B. Sokolinsky, South Ural State University (Chelyabinsk, Russian Federation)

The paper presents decomposition of relational operations based on distributed column indices and domain-interval fragmentation. This decomposition admits parallel executing the resource-intensive relational operations without data transfers. All column index fragments are stored in main memory in compressed form to conserve space. During the parallel execution of relational operations, compressed index fragments are loaded on different processor cores. These cores uncompress fragments, perform relational operations and compress fragments of partial result, which is a set of keys. Partial results are merged in the resulting set of keys. DBMS use the resulting set of keys for building the resulting table. Described approach allows efficient parallel query processing for very large databases on modern computing cluster systems with many-core accelerators.

Keywords: very large databases, parallel query processing, column indices, domain-interval fragmentation, decomposition of relational operations.

References

1. Turner V., Gantz J.F, Reinsel D., et al. The Digital Universe of Opportunities: Rich Data and the creasing Value of the Internet of Things. White paper. International Data Corporation. 2014. URL: http://idcdocserv.com/1678 (accessed: 29.01.2015)

2. Sokolinsky L.B. Parallel'nye mashiny baz dannyh [Parallel Database Machines]. Priroda [Nature]. 2001. No 8. P. 10-17.

3. Sokolinsky L.B. Parallel'nye systemy baz dannyh [Parallel Database Systems]. Moscow, Publishing of the Moscow State University, 2013. 184 p.

4. Sokolinsky L.B. Design and Evaluation of Database Multiprocessor Architecture with High Data Availability / / Proceedings of the 12th International workshop on database and expert systems applications. IEEE Computer Society, 2001. P. 115-120.

5. Pan C.S., Zymbler M.L. Taming Elephants, or How to Embed Parallelism into Post-greSQL // Lecture Notes in Computer Science. 2013. Vol. 8055, Part 1. P. 153-164.

6. Kostenetsky P.S., Sokolinsky L.B. Modelirovanie ierarhicheskih mnogoprocessornyh sistem baz dannyh [Simulation of Hierarchical Multiprocessor Database Systems]. Programmiro-vanie [Programming]. 2013. Vol. 39, No 1. P. 3-22.

7. Plattner H., Zeier A. In-Memory Data Management: An Inflection Point for Enterprise Applications Springer, 2011. 254 p.

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

8. 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.

9. Fang J., Varbanescu A.L., Sips H. Sesame: A User-Transparent Optimizing Framework for Many-Core Processors // Proceedings of the 13th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid2013), May 13-16, 2013, Delft, Netherlands. IEEE, 2013. P. 70-73.

10. Breß S., Rauhe H, et al. Efficient Co-Processor Utilization in Database Query Processing // Information Systems. 2013. Vol. 38, No. 8. P. 1084-1096.

11. Scherger M. Design of an In-Memory Database Engine Using Intel Xeon Phi Coprocessors // Proceedings of the International Conference on Parallel and Distributed Processing Techniques and Applications (PDPTA'14), July 21-24, 2014, Las Vegas, USA. CSREA Press, 2014. P. 21-27.

12. Besedin K.Y., Kostenetsky P.S. Modelirovanie obrabotki zaprosov na gibridnyh vychislit-el'nyh sistemah s mnogojadernymi soprocessorami i graficheskimi uskoriteljami [Simulation of Query Processing on Hybrid Computing Systems with Multi-core Coprocessors and Graphic Accelerators]. Programmnye sistemy: teorija i prilozhenija [Software Systems: Theory and Applications]. 2014. Vol. 5, No 1-1 (19). P. 91-110.

13. Ivanova E.V., Sokolinsky L.B. Ispol'zovanie raspredelennykh kolonochnykh indeksov dlya vypolneniya zaprosov k sverkhbol'shim bazam dannykh [Using Distributed Column Inde-ces 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.

14. Ivanova E.V. Ispol'zovanie raspredelennyh kolonochnyh hesh-indeksov dlja obrabotki zaprosov k sverhbol'shim bazam dannyh [Using Distributed Column Hash Indices for the Query for Very Large Databases] / / Nauchnyj servis v seti Internet: mnogoobrazie superk-omp'juternyh mirov. Trudy Mezhdunarodnoy nauchnoy konferentsii [Proceedings of the International Scientific Conference Scientific Service on the Internet: the Variety of Supercomputing Worlds]. Moscow. Bulletin of publishing house of the Moscow university. 2014. P. 102-104.

15. Garcia-Molina H., Ullman J., Widom J. Database Systems: The Complete Book. Prentice Hall Press, 2008. 1248 p.

Received February 4, 2015.

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