32
ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. “Приборостроение”. 2012
сокращение объема ввода—вывода по сравнению с аналогичной ре-
ляционной СУБД (РСУБД). Это достигается за счет того, что из базы
данных читаются только те атрибуты, которые участвуют в запросе, а
также применяются эффективные методы сжатия столбцов.
Таким образом, перед проектировщиком системы обработки дан-
ных возникает непростая задача выбора между традиционными
(
строчными — Oracle, MS SQL Server и др.) и специализированными
СУБД (колоночными — Vertica, ParAccel и др.). Для принятия обос-
нованного технического решения по выбору типа СУБД необходимо
использовать средства моделирования. Для традиционных РСУБД
такие методы уже существуют [6]. Для параллельных СУБД подоб-
ные исследования ведутся [7—10].
В работе приведены результаты сравнения процессов обработки
запросов в параллельной строчной и колоночной системе баз данных,
а также времени выполнения запроса к одной таблице на основе ма-
тематических методов, предложенных авторами в работах [11, 12] и
учитывающих особенности выполнения запросов к колоночным и
строчным базам данных.
Организация работы строчной и колоночной системы баз
данных.
Под строчным хранением данных обычно понимается физи-
ческое хранение кортежа любого отношения в виде одной записи, в
котором значения атрибута идут последовательно одно за другим, а
за последним атрибутом кортежа в общем случае следует новый кор-
теж отношения.
Таким образом, на физическом носителе отношение
R
представ-
лено в следующем виде:
[
] [
] [
]
11 21
1 12 22
2 13 23
3
1 2
1
2
3
,
, ...,
,
, ...,
,
, ...,
... [
. ,
,
,
, ..
]
n
n
n
m m nm m
a a a a a
a a a
a
a a
a
где
ij
a
—
значение атрибута
i
a
в
j
-
м кортеже отношения
R
;
1 2
,
, ...,
j
j
nj j
a a a
⎡
⎤
⎣
⎦
—
j
-
й кортеж отношения
R
;
n
—
число атрибутов
отношения
R
;
m
= ( )
T R
—
число кортежей отношения
R
.
В колоночных СУБД значения одного атрибута хранятся после-
довательно друг за другом [13], т. е. на физическом носителе отно-
шение
R
примет следующий вид:
11 12 13
1 21 22 23
2
1 2 3
,
,
, ...,
,
,
, ...,
...
,
,
, ..
,
.,
m
m n n n
nm
a a a a a a a
a a a a
a
где
ij
a
—
значение атрибута
i
a
в
j
-
м кортеже отношения
R
;
1 2 3
,
,
, ...,
i
i
i
im
a a a a
—
i
-
й столбец (атрибут) отношения
R
.
Каждая колонка, хранимая на диске, разделена на блоки опреде-
ленного размера
б
( ).
S
Блок состоит из заголовка, размер которого
пренебрежимо мал по сравнению с размером блока и непосредствен-
но данных. При одном запросе к диску происходит чтение несколь-
ких блоков, количество которых определяется параметром.