Научная статья на тему 'Алгоритм репрезентативного сэмплинга для систем баз данных на основе фрагментного параллелизма'

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

CC BY
474
54
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
РЕЛЯЦИОННЫЕ БАЗЫ ДАННЫХ / ПАРАЛЛЕЛЬНЫЕ СИСТЕМЫ БАЗ ДАННЫХ / РЕПРЕЗЕНТАТИВНЫЙ СЭМПЛИНГ / RELATIONAL DATABASES / PARALLEL DATABASE SYSTEMS / REPRESENTATIVE SAMPLING

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Янцен Дмитрий Дмитриевич, Цымблер Михаил Леонидович

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Янцен Дмитрий Дмитриевич, Цымблер Михаил Леонидович

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

REPRESENTATIVE SAMPLING ALGORITHM FOR DATABASE SYSTEMS BASED ON THE PARTITIONED PARALLELISM

Sampling is a popular approach to very large databases processing in a wide range of applications, e.g. data mining, histograms construction, query execution cost estimation, etc. Use of either the sample instead of the original database can reduce the accuracy of the results, but offset by a reduction of time executing processing. Representative sampling allows you to save the sample of certain characteristics of the database. However, existing algorithms for representative sampling can not be used for pas-parallel database systems because it does not take into account the characteristics of the data distribution fissionable by the compute nodes of the cluster system. In this paper we propose al-representative sampling algorithm for parallel relational database systems based on the slice of parallelism. The results of computational experiments on the proposed algorithm, showing adequate maintenance of representativity database properties distributed across the nodes of a cluster system.

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

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

АЛГОРИТМ РЕПРЕЗЕНТАТИВНОГО СЭМПЛИНГА ДЛЯ СИСТЕМ БАЗ ДАННЫХ НА ОСНОВЕ ФРАГМЕНТНОГО ПАРАЛЛЕЛИЗМА

Д.Д. Янцен, М.Л. Цымблер

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

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

Введение

В настоящее время сэмплинг применяется в широком спектре приложений, связанных с обработкой сверхбольших баз данных: интеллектуальный анализ данных [23, 25], построение гистограмм [18], генерация баз данных для тестирования программного обеспечения [26], приблизительное исполнение запросов [5] и др. Сэмпл представляет собой часть оригинальной базы данных, имеющую меньший размер, что позволяет сократить время обработки базы данных за счет возможной потери точности результатов обработки. Случайный сэмплинг предполагает отбор кортежей базы данных без учета значений их атрибутов, что снижает точность и повторяемость результатов обработки. При репрезентативном сэмплинге отбор кортежей осуществляется с сохранением важных особенностей оригинальной базы данных: относительное количество кортежей, связанных посредством внешних ключей, относительное количество значений атрибута и

др. [10].

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

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

1. Обзор работ в области сэмплинга данных

В настоящее время существует большое количество подходов к сэмплингу баз данных, которые, в основном, ориентированы на конкретные приложения: тестирование программного обеспечения, интеллектуальный анализ данных, нахождение приблизительного результата исполнения запросов и др. [10].

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

В настоящее время сэмплинг поддерживается в ряде СУБД корпоративного класса. В СУБД Oracle поддерживается выборка данных из случайного сэмпла указанной таблицы путем добавления в запрос SELECT специального ключевого слова SAMPLE [22]. СУБД IBM DB2 предоставляет два оператора, обеспечивающих сэмплинг, — RAND и TABLESAMPLE [15]. Функция RAND(), указанная в части WHERE запроса, позволяет задает долю кортежей оригинальной таблицы, случайно попадающих в сэмпл. Оператор TABLESAMPLE позволяет отбирать в кортежи в сэмпл одним из двух способов: на основе алгоритма, предложенного в работе [13], или случайным отбором физических страниц диска, на которых размещены кортежи.

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

Большое количество работ посвящено использованию случайного сэмплинга для быстрого нахождения приблизительного результата запроса [6, 17] и размера результирующего отношения [12]. В работе [17] предложен метод Linked Bernoulli Synopses, основанный на алгоритме Join Synopses (JS) [5] для вычисления приблизительного результата выполнения запроса, предполагающего соединение

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

Алгоритм VFDS (Very Fast Database Sampling) [9] является одним из наиболее быстрых алгоритмов случайного сэмплинга баз данных. VFDS требует одного прохода над всей оригинальной базой данных и не выполняет обработку каждого ее кортежа в отдельности. На первом шаге случайным образом отбираются кортежи стартового отношения и вставляются в соответствующее отношение сэмпла. После этого алгоритм обеспечивает целостность данных в сэмпле посредством сэмплинга ссылающихся и ссылаемых кортежей стартового отношения. Процесс рекурсивно продолжается для ссылающихся и ссылаемых кортежей, попавших в сэмпл на предыдущем шаге. Сэмплинг завершается, как только обработаны все отношения оригинальной базы данных.

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

Алгоритм CoDS (Chains of Dependencies-based sampling) [10] является на сегодня, по-видимому, самым быстрым алгоритмом репрезентативного сэмплинга. Ключевой идеей алгоритма является определение кортежей, которые должны быть отобраны из стартового отношения. После того, как эти кортежи будут вставлены в сэмпл базы данных, выполняется вставка в сэмпл ссылающихся и ссылаемых кортежей из оставшихся отношений оригинальной базы данных. Подобно алгоритму VFDS, процесс является рекурсивным и завершается, когда просмотрены все отношения. Отличие заключается в том, что кортежи стартового отношения отбираются в сэмпл таким образом, чтобы в итоге обеспечить необходимую репрезентативность.

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

На этапе выбора стартового отношения в качестве стартового берется любое отношение базы данных, не имеющее внешних ключей. Если таких отношений несколько, в качестве стартового выбирается то из них, которое имеет максимальную мощность.

Цепочка зависимостей (chain of dependencies) представляет собой последовательность, в которой перечислены два или более отношений оригинальной базы данных. В этой последовательности в двух любых соседних членах одно из них ссылается на другое посредством внешнего ключа. На втором этапе осуществляется поиск всех цепочек зависимостей, начинающихся со стартового отношения. Затем для каждой найденной цепочки осуществляется построение диаграммы рассеивания. Диаграмма рассеивания (scatter plot) представляет собой гистограмму, по оси абсцисс которой откладывается количество кортежей стартового отношения, а по оси ординат — количество кортежей из конечного отношения из цепочки зависимостей, для которой строится диаграмма. Точка на этой гистограмме означает, что x кортежей из стартового отношения связаны с y кортежей из конечного отношения цепочки. Кортежи стартового отношения, связанные с данной точкой на диаграмме рассеивания, называются точкой данных (data point).

На этапе анализа диаграмм рассеивания осуществляется отбор кортежей стартового отношения, которые будут включены в сэмпл. Основной задачей здесь является уменьшение размеров каждой точки данных в соответствии с заданным коэффициентом сэмплинга. Для этого авторами алгоритма предложена функция влияния (impact factor, IF), которая для заданного кортежа вычисляет степень нарушения репрезентативности сэмпла в случае попадания данного кортежа в сэмпл. Чем меньше значение функции влияния, тем больше вероятность включения в сэмпл данного кортежа.

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

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

2. Алгоритм pCoDS репрезентативного сэмплинга параллельных систем баз данных

Рассмотренные в предыдущем разделе методы сэмплинга не могут быть применены для параллельных систем баз данных на основе фрагментного параллелизма, поскольку не учитывают особенности распределения фрагментов отношений базы данных по вычислительным узлам кластерной системы. Далее мы рассмотрим разработанную нами модернизированную версию алгоритма CoDS, названную нами pCoDS [4]. В pCoDS при построении сэмпла делается попытка сохранить в нем следующие важные особенности оригинальной базы данных: соотношение размеров фрагментов отношений и соотношение «своих» и «чужих» кортежей в отношениях. «Своими» называют такие кортежи, которые при выполнении запроса должны быть обработаны на текущем вычислительном узле кластера, «чужими» — те, что должны быть переданы для обработки на другой вычислительный узел.

Сохранение относительных размеров фрагментов отношений направлено на обеспечение репрезентативности перекоса по данным, когда значение некоторые значения для

определенного атрибута встречаются значительно чаще, чем остальные. Перекос по данным может привести к дисбалансу загрузки узлов кластера и катастрофически ограничить ускорение параллельной СУБД [20]. Поскольку фрагментация часто осуществляется на основе значений первичного ключа отношения, сохранение относительных размеров фрагментов отношений обеспечивает репрезентативность возможного дисбаланса загрузки вычислительных узлов кластера при выполнении запроса. Сохранение соотношения «своих» и «чужих» кортежей обеспечивает репрезентативность нагрузки, связанной с пересылкой данных между вычислительными узлами кластера при выполнении запроса.

В алгоритме pCoDS нами модифицируются следующие шаги исходного алгоритма: выбор стартового отношения, создание диаграмм рассеивания и анализ диаграмм рассеивания.

На этапе выбора стартового отношения в алгоритме CoDS выбирается отношение, не содержащее внешних ключей. Предложенная нами модификация алгоритма подразумевает, что в качестве стартового выбирается отношение, которое наиболее часто фигурирует в запросах к базе данных. Данная модификация направлена на обеспечение репрезентативности соотношения «своих» и «чужих» кортежей для запросов, содержащих в соединениях стартовое отношение.

На этапе создания диаграмм рассеивания мы вносим изменения в принцип построения диаграмм рассеивания. Для каждой цепочки зависимостей в pCoDS строится две диаграммы рассеивания: для «своих» кортежей (обработка которых осуществляется на текущем узле) и для «чужих» кортежей (обработка которых требует пересылки на другой узел кластера) стартового отношения. В силу того, что размер всех точек данных из каждой диаграммы рассеивания уменьшается пропорционально коэффициенту сэмплинга, данная модификация позволяет сохранить соотношение «своих» и «чужих» кортежей для отношения, выбранного стартовым в алгоритме.

Рис. 1. Диаграмма рассеивания в CoDS

Пример диаграммы рассеивания для цепочки (Ц, Т2, Tз, ..., Тдт) в алгоритме CoDS приведен на рис. 1. Диаграммы рассеивания для цепочки (Т1, Т%, Тз, ..., Тдт) в алгоритме pCoDS приведены на рис. 2, здесь р означает функцию фрагментации отношения.

Рис. 2. Диаграммы рассеивания в алгоритме pCoDS

Запросы, используемые для создания диаграмм рассеивания в алгоритме pCoDS, приведены на рис. 3.

SELECT Ti.ID, COUNT DISTINCT Tn.ID) AS Y

FROM Ti JOIN T2 JOIN T3 JOIN .. JOIN Tn

WHERE p(Ti.ID) == p (Tn.ID)

GROUP BY Ti.ID

SELECT Ti.ID, COUNT DISTINCT Tn.ID) AS Y

FROM Ti JOIN ... JOIN Tn

WHERE p (Ti.ID) <> p (Tn.ID)

GROUP BY Ti.ID

Рис. 3. Запросы для создания диаграмм рассеивания в pCoDS

На этапе анализа диаграмм рассеивания мы изменяем функцию влияния, добавляя в нее дополнительное слагаемое с целью обеспечить репрезентативность относительных размеров фрагментов базы данных, и функция влияния принимает вид (1). В силу того, что функция влияния рассчитывается для каждого кортежа на основе кортежей, уже отобранных в сэмпл, предложенная модификация позволяет сохранить данную характеристику. С помощью коэффициента k регулируется степень важности сохранения данной характеристики.

(1)

где

TS — стартовое отношение в сэмпле базы данных,

*

Т — стартовое отношение в исходной базе данных, ф — функция фрагментации стартового отношения, t — обрабатываемый кортеж,

k £ [0, 1] — коэффициент, определяющий степень важности сохранения относительных размеров фрагментов,

*

IFcoDs(T Л) — функция влияния исходного алгоритма CoDS, вычисляемая по формуле (2).

/wcr.t)= у ™

l—I а

dp' ERDP(dp)

||dp' П 7\Г||

\\dp'\

(2)

где

dp — точка данных на диаграмме рассеивания,

RDP(dp) — множество точек данных, содержащих одинаковые кортежи (связанные точки данных, related data points), а — коэффициент сэмплинга.

3. Вычислительные эксперименты

Предложенный нами алгоритм был реализован для параллельной СУБД PargreSQL [2, 24]. Для исследования свойств реализованного алгоритма нами проведена серия вычислительных экспериментов, в которых использовалась финансовая база данных [16], предлагавшаяся участникам конкурса PKDD'99 Challenge Discovery, и использованная в экспериментах разработчиками алгоритма CoDS. В рамках экспериментов исследовались следующие характеристики предложенного алгоритма: репрезентативность сэмпла, отклонение размера результирующего сэмпла, репрезентативность загрузки узлов кластера и репрезентативность нагрузки по пересылке кортежей между узлами при обработке запросов.

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

Рис. 4. Репрезентативность сэмпла

Для измерений нами использовалась мера (3), предложенная авторами алгоритма CoDS. Результирующее значение, равное нулю, будет означать идеальную репрезентативность сэмпла.

(3)

где

V, I — отношения базы данных,

II — количество точек данных на диаграмме рассеивания между ^ и ¿,

Л 5 Г

dpt — точка данных из диаграммы рассеивания ерь , Б(Т) — сэмпл базы данных,

С = | | йрг П S (Т)|| — количество кортежей в точке данных в сэмпле, Е = а * | | йрг || — ожидаемое количество кортеже в точке данных в сэмпле, RT(t) — отношения, связанные с 5.

Отклонение размера сэмпла от заданного. На рис. 5 приведены результаты экспериментов по измерению отклонения размера сэмпла от заданного. Можно видеть, что увеличение коэффициента сохранения относительных размеров фрагмент не влияет на получаемый размер сэмпла. При этом сэмпл получается меньше, чем задаваемое значение в среднем на 18 %, что связано с особенностями алгоритма CoDS и является ожидаемым результатом.

Рис. 5. Отклонение размера результирующего сэмпла от заданного

Для измерения соответствия размера сэмпла заданному использовалась мера (4), предложенная авторами алгоритма CoDS. Результирующее значение, равное нулю, будет означать идеальное соответствие размера сэмпла заданному.

«VII №)) =

||5(Г)||- а*тх)II сс*\\0(Т)\\

(4)

Репрезентативность загрузки узлов кластера. Для измерения сохранения относительных размеров фрагментов нами предлагается мера (5). Результирующее значение, равное нулю, будет означать идеальную репрезентативность загрузки узлов базы данных.

где

п — количество фрагментов, Б( Т) — сэмпл базы данных, О(Т) — исходная база данных.

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

(5) улучшается. При сравнении результатов при k=0 и k=1 среднее значение меры уменьшается почти вдвое с 0,236 до 0,124. Это позволяет заключить, что модификация функции влияния до вида (1) действительно улучшает репрезентативность дисбаланса загрузки узлов кластера.

Рис. 6. Репрезентативность загрузки узлов кластера

Репрезентативность нагрузки по пересылке данных между узлами. Для измерения сохранения соотношения «своих» и «чужих» кортежей нами предлагается мера (6). Измерение проводилось на двух типах запросов: содержащих и не содержащих стартовое отношение в соединении.

öio =

native

S(T)

native

0(Т)

alien

•S(T)

alien,

0(7)

(6)

где

пайиех — количество «своих» кортежей при запросе к базе данных X, аЫепх — количество «чужих» кортежей при запросе к базе данных X.

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

Рис. 7. Репрезентативность нагрузки по пересылке данных между узлами кластера

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

шага алгоритма, связанного с построением диаграмм рассеивания, позволяет сильно улучшить репрезентативность данной характеристики для запросов, содержащих в соединениях стартовое отношение. При этом для запросов, не содержащих стартовое отношение, степень репрезентативности также улучшается. Результаты показывают, что для запросов, содержащих стартовое отношение в соединениях, среднее значение меры уменьшается с 0,43 до 0,15, что является отличным результатом. При этом для запросов, не содержащих стартового отношения, среднее значение уменьшается с 0,44 до 0,36, что также является хорошим результатом.

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

Заключение

В статье рассмотрена разработка алгоритма репрезентативного сэмплинга для параллельных систем баз данных на основе фрагментного параллелизма. Предложена модификация существующего алгоритма CoDS для последовательных систем баз данных, который является одним из наиболее быстрых алгоритмов сэмплинга и показывает при этом приемлемую репрезентативность. Модифицированный алгоритм позволяет сохранять при сэмплинге следующие важные для параллельных СУБД характеристики распределения базы данных по вычислительным узлам кластерной системы: относительные размеры фрагментов отношений и относительное количество «своих» и «чужих» кортежей в каждом фрагменте отношения. Сохранение относительных размеров фрагментов обеспечивает репрезентативность возможного дисбаланса загрузки вычислительных узлов кластера при обработке запроса. Сохранение относительного количества «своих» и «чужих» кортежей (т.е. кортежей, обрабатываемых соответственно на текущем узле или пересылаемых на другой узел кластера) в фрагментах обеспечивает репрезентативность нагрузки, связанной с пересылкой данных между узлами кластера при выполнении запросов. Разработанный алгоритм реализован для параллельной СУБД PargreSQL. Представлены результаты вычислительных экспериментов на реальных данных, подтверждающие приемлемую репрезентативность предложенного алгоритма.

В качестве возможных направлений дальнейших исследований интересными представляются следующие задачи:

1) встраивание предложенного алгоритма сэмплинга в ядро параллельной СУБД PargreSQL для расширения синтаксиса запросов SELECT;

2) разработка меры репрезентативности базы данных, фрагментированной по узлам кластерной системы, и ее сэмпла, которая учитывала бы как статистические характеристики базы данных, так и рассмотренные в данной статье характеристики, важные для параллельной системы баз данных;

3) адаптация предложенного алгоритма сэмплинга для параллельных систем баз данных, поддерживающих частичную репликацию данных [1].

Исследование выполнено при финансовой поддержке Российского фонда фундаментальных исследований в рамках научного проекта № 12-07-00443-а.

Литература

1. Костенецкий, П.С. Технологии параллельных систем баз данных для иерархических многопроцессорных сред. / П.С. Костенецкий, А.В. Лепихов, Л.Б. Соколин-ский / / Автоматика и телемеханика. — 2007. — № 5. — C. 112-125.

2. Пан, К.С. Разработка параллельной СУБД на основе последовательной СУБД PostgreSQL с открытым исходным кодом. / К.С. Пан, М.Л. Цымблер // Вестник ЮУрГУ. Серия «Математическое моделирование и программирование». — 2012. — № 18(277). — Вып. 12. — С. 112-120.

3. Соколинский, Л.Б. Обзор архитектур параллельных систем баз данных. / Л.Б. Со-колинский / / Программирование. — 2004. — № 6. — С. 49-63.

4. Янцен, Д.Д. Алгоритм репрезентативного сэмплинга для параллельных систем баз данных. / Д.Д. Янцен, М.Л. Цымблер // Параллельные вычислительные технологии (ПаВТ'2014): труды международной научной конференции (1-3 апреля 2014 г., г. Ростов-на-Дону). — Челябинск: Издательский центр ЮУрГУ, 2014. —

C. 381.

5. Acharya, S. Join Synopses for Approximate Query Answering. / S. Acharya, P.B. Gibbons, V. Poosala, S. Ramaswamy // SIGMOD 1999, Proceedings ACM SIGMOD International Conference on Management of Data, June 1-3, 1999, Philadelphia, Pennsylvania, USA. — ACM, 1999. — P. 275-286.

6. Agarwal, S. Blink and It's Done: Interactive Queries on Very Large Data. / S. Agarwal, A. Panda, B. Mozafari, A.P. Iyer, S. Madden, I. Stoica / / Proceedings of the VLDB Endowment. — 2011. — Vol. 5, No. 1. — P. 1902-1905.

7. Bisbal, J. A Formal Framework for Database Sampling. / J. Bisbal, J. Grimson,

D.A. Bell // Information & Software Technology. — 2005. — Vol. 47, No. 1. — P. 819-828.

8. Buda, T.S. Generation of Test Databases using Sampling Methods. / T.S. Buda // International Symposium on Software Testing and Analysis, ISSTA'13, Lugano, Switzerland, July 15-20, 2013. — ACM, 2013. — P. 366-369.

9. Buda, T.S. VFDS: Very Fast Database Sampling System. / T.S. Buda, T. Cerqueus, M. Kristiansen, J. Murphy / / Proceedings of the IEEE 14th International Conference on Information Reuse & Integration, IRI 2013, San Francisco, CA, USA, August 1416, 2013. — IEEE, 2013. — P. 153-160.

10. Buda, T.S. CoDS: A Representative Sampling Method for Relational Databases. / T.S. Buda, T. Cerqueus, J. Murphy, M. Kristiansen // Database and Expert Systems Applications - 24th International Conference, DEXA 2013, Prague, Czech Republic, August 26-29, 2013. Proceedings, Part I. — Springer, 2013. Lecture Notes in Computer Science. — Vol. 8055. — P. 342-356.

11. Chakaravarthy, V.T. Analysis of Sampling Techniques for Association Rule Mining. / V.T. Chakaravarthy, V. Pandit, Y. Sabharwal // Database Theory - ICDT 2009, 12th International Conference, St. Petersburg, Russia, March 23-25, 2009, Proceedings. — ACM, 2009. — P. 276-283.

12. Chaudhuri, S. Effective Use of Block-Level Sampling in Statistics Estimation. / S. Chaudhuri, G. Das, U. Srivastava / / Proceedings of the ACM SIGMOD International Conference on Management of Data, Paris, France, June 13-18, 2004. — ACM, 2004. — P. 287-298.

13. Gemulla, R. Linked Bernoulli Synopses: Sampling along Foreign Keys. / R. Gemulla, P. Rösch, W. Lehner // Scientific and Statistical Database Management, 20th International Conference, SSDBM 2008, Hong Kong, China, July 9-11, 2008, Proceedings. — Springer, 2008. Lecture Notes in Computer Science. — P. 6-23.

14. Goethals, B. Mining Interesting Sets and Rules in Relational Databases. / B. Goethals, W.L. Page, M. Mampaey // Proceedings of the 2010 ACM Symposium on Applied Computing (SAC), Sierre, Switzerland, March 22-26, 2010. — ACM, 2010. — P. 9971001.

15. Gryz, J. Query Sampling in DB2 Universal Database. / J. Gryz, J. Guo, L. Liu, C. Zuzarte / / Proceedings of the ACM SIGMOD International Conference on Management of Data, Paris, France, June 13-18, 2004. — ACM, 2004. — P. 839-843.

16. Guide to the Financial Data Set of the PKDD'99 Discovery Challenge. — URL: http://lisp.vse.cz/pkdd99/Challenge/berka.htm (дата обращения: 24.05.2014).

17. Haas, P.J. A Bi-Level Bernoulli Scheme for Database Sampling. / P.J. Haas, C. Koenig // Proceedings of the ACM SIGMOD International Conference on Management of Data, Paris, France, June 13-18, 2004. — ACM, 2004. — P. 275-286.

18. Ioannidis, Y.E. Histogram-Based Approximation of Set-Valued Query-Answer. / Y.E. Ioannidis, V. Poosala / / VLDB'99, Proceedings of 25th International Conference on Very Large Data Bases, September 7-10, 1999, Edinburgh, Scotland, UK. — Morgan Kaufmann 1999. — P. 174-185.

19. John, G.H. Static Versus Dynamic Sampling for Data Mining. / G.H. John, P. Langley // Proceedings of the 2nd International Conference on Knowledge Discovery and Data Mining (KDD-96), Portland, Oregon, USA. — AAAI Press, 1996. — P. 367-370.

20. Lakshmi, M.S. Effectiveness of Parallel Joins. / M.S. Lakshmi, P.S. Yu // IEEE Transactions on Knowledge and Data Engineering. — 1990. — Vol. 2, No. 4. —P. 410-424.

21. Olken, F. Random Sampling from Database Files: A Survey. / F. Olken, D. Rotem // Statistical and Scientific Database Management, 5th International Conference SSDBM, Charlotte, NC, USA, April 3-5, 1990, Proceedings. — Springer, 1990. Lecture Notes in Computer Science. — P. 92-111.

22. Oracle Database SQL Language Reference. — URL: http://docs.ora-cle.com/cd/E11882_01/server.112/e41084/statements_10002.htm (accessed: 24.05.2014).

23. Palmer, C.R. Density Biased Sampling: an Improved Method for Data mining and Clustering. / C.R. Palmer, C. Faloutsos // Proceedings of the 2000 ACM SIGMOD International Conference on Management of Data, May 16-18, 2000, Dallas, Texas, USA. — ACM, 2000. — P. 82-92.

24. Pan, C.S. Taming Elephants, or How to Embed Parallelism into PostgreSQL. / C.S. Pan, M.L. Zymbler // Database and Expert Systems Applications - 24th International Conference, DEXA 2013, Prague, Czech Republic, August 26-29, 2013. Proceedings, Part I. — Springer, 2013. Lecture Notes in Computer Science. — Vol. 8055. — P. 153164.

25. Parthasarathy, S. Efficient Progressive Sampling for Association Rules. / S. Parthasa-rathy / / Proceedings of the 2002 IEEE International Conference on Data Mining (ICDM 2002), 9-12 December 2002, Maebashi City, Japan. — IEEE, 2002. — P. 354361.

26. Wu, X. Privacy Preserving Database Generation for Database Application Testing. / X. Wu, Y. Wang, S. Guo, Y. Zheng / / Fundamenta Informaticae. — 2007. — Vol. 78, No. 1. — P. 595-612.

27. Yin, X. Efficient Classification across Multiple Database Relations: A CrossMine Approach. / X. Yin, J. Han, J. Yang, P.S. Yu // IEEE Transactions on Knowledge and Data Engineering. — 2006. — Vol. 18, No. 1. — P. 770-783.

Янцен Дмитрий Дмитриевич, магистрант кафедры системного программирования Южно-Уральского государственного университета (Челябинск, Российская Федерация), d.yantsen@gmail.com.

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

Поступила в редакцию 11 августа 2014 г.

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

2014, vol. 3, no. 4, pp. 36-50

DOI: 10.14529/cmse140402

REPRESENTATIVE SAMPLING ALGORITHM FOR DATABASE SYSTEMS BASED ON THE PARTITIONED PARALLELISM

D.D. Yantsen, South Ural State University (Chelyabinsk, Russian Federation),

M.L. Zymbler, South Ural State University (Chelyabinsk, Russian Federation)

Sampling is a popular approach to very large databases processing in a wide range of applications, e.g. data mining, histograms construction, query execution cost estimation, etc. Use of either the sample instead of the original database can reduce the accuracy of the results, but offset by a reduction of time executing processing. Representative sampling allows you to save the sample of certain characteristics of the database. However, existing algorithms for representative sampling can not be used for pas-parallel database systems because it does not take into account the characteristics of the data distribution fissionable by the compute nodes of the cluster system. In this paper we propose al-representative sampling algorithm for parallel relational database systems based on the slice of parallelism. The results of computational experiments on the proposed algorithm, showing adequate maintenance of representativity database properties distributed across the nodes of a cluster system.

Keywords: relational databases, parallel database .systems, representative sampling.

References

1. Kostenetskii P.S., Lepikhov A.V., Sokolinskii L.V. Technologies of parallel database systems for hierarchical multiprocessor environments / / Automation and Remote Control. 2007. Vol. 68, No. 5. P. 847-859. DOI: 10.1134/S0005117907050116.

2. Pan C.S., Zymbler M.L. Razrabotka parallelnoj SUBD na osnove posledovatelnoj SUBD PostgreSQL s otkrytym ishodnym kodom [Development of a Parallel Database Management System on the Basis of Open-Source PostgreSQL DBMS]. Vestnik Yuzho-Uralskogo gosudarstvennogo universiteta. Seriya "Matematicheskoe modelirovanie i programmiro-vanie" [Bulletin of South Ural State University. Series: Mathematical Modeling, Programming & Computer Software]. 2012. No. 18(277). Vol. 12. P. 112-120.

3. Sokolinsky L.B. Survey of Architectures of Parallel Database Systems / / Programming and Computer Software. 2004. Vol. 30, No. 6. P. 337-346.

DOI: 10.1023/B:PACS.0000049511.71586.e0.

4. Yantsen D.D., Zymbler M.L. Algoritm reprezentativnogo semplinga dlya parallelnykh system baz dannykh [Representative sampling algorithm for parallel database systems] / / Par-allelnye vychislitelnye tekhnologii (PaVT'2014): Trudy mezhdunarodnoj nauchnoj konfer-entsii (Rostov-na-Donu, 1-3 aprelya 2014) [Parallel Computational Technologies (PCT'2010): Proceedings of the International Scientific Conference (Rostov-on-Don, Russia, April 1-3, 2014)]. Chelyabinsk, Publishing of the South Ural State University, 2014. P. 381.

5. Acharya S., Gibbons P.B., Poosala V., Ramaswamy S. Join Synopses for Approximate Query Answering // SIGMOD 1999, Proceedings ACM SIGMOD International Conference on Management of Data, June 1-3, 1999, Philadelphia, Pennsylvania, USA. ACM, 1999. P. 275-286. DOI: 10.1145/304182.304207.

6. Agarwal S., Panda A., Mozafari B., Iyer A.P., Madden S., Stoica I. Blink and It's Done: Interactive Queries on Very Large Data // Proceedings of the VLDB Endowment. 2011. Vol. 5, No. 1. P. 1902-1905. DOI: 10.14778/2367502.2367533.

7. Bisbal J., Grimson J., Bell D.A. A Formal Framework for Database Sampling // Information & Software Technology. 2005. Vol. 47, No. 1. P. 819-828.

DOI: 10.1016/j.infsof.2005.02.003.

8. Buda T.S. Generation of Test Databases using Sampling Methods // International Symposium on Software Testing and Analysis, ISSTA'13, Lugano, Switzerland, July 15-20, 2013. ACM, 2013. P. 366-369. DOI: 10.1145/2483760.2492397.

9. Buda T.S., Cerqueus T., Kristiansen M., Murphy J. VFDS: Very Fast Database Sampling System // Proceedings of the IEEE 14th International Conference on Information Reuse & Integration, IRI 2013, San Francisco, CA, USA, August 14-16, 2013. IEEE, 2013. P. 153-160. DOI: 10.1109/IRI.2013.6642466.

10. Buda T.S., Cerqueus T., Murphy J., Kristiansen M. CoDS: A Representative Sampling Method for Relational Databases // Database and Expert Systems Applications - 24th International Conference, DEXA 2013, Prague, Czech Republic, August 26-29, 2013. Proceedings, Part I. Springer, 2013. Lecture Notes in Computer Science. Vol. 8055. P. 342356. DOI: 10.1007/978-3-642-40285-2_30.

11. Chakaravarthy V.T., Pandit V., Sabharwal Y. Analysis of Sampling Techniques for Association Rule Mining / / Database Theory - ICDT 2009, 12th International Conference, St. Petersburg, Russia, March 23-25, 2009, Proceedings. ACM, 2009. P. 276-283. DOI: 10.1145/1514894.1514927.

12. Chaudhuri S., Das G., Srivastava U. Effective Use of Block-Level Sampling in Statistics Estimation // Proceedings of the ACM SIGMOD International Conference on Management of Data, Paris, France, June 13-18, 2004. ACM, 2004. P. 287-298. DOI 10.1145/1007568.1007602.

13. Gemulla R., Rösch P., Lehner W. Linked Bernoulli Synopses: Sampling along Foreign Keys / / Scientific and Statistical Database Management, 20th International Conference, SSDBM 2008, Hong Kong, China, July 9-11, 2008, Proceedings. Springer, 2008. Lecture Notes in Computer Science. P. 6-23. DOI: 10.1007/978-3-540-69497-7_4.

14. Goethals B., Page W.L., Mampaey M. Mining Interesting Sets and Rules in Relational Databases // Proceedings of the 2010 ACM Symposium on Applied Computing (SAC), Sierre, Switzerland, March 22-26, 2010. ACM, 2010. P. 997-1001. DOI: 10.1145/1774088.1774299.

15. Gryz J., Guo J., Liu L., Zuzarte C. Query Sampling in DB2 Universal Database // Proceedings of the ACM SIGMOD International Conference on Management of Data, Paris, France, June 13-18, 2004. ACM, 2004. P. 839-843. DOI: 10.1145/1007568.1007664.

16. Guide to the Financial Data Set of the PKDD'99 Discovery Challenge. URL: http://lisp.vse.cz/pkdd99/Challenge/berka.htm (accessed: 24.05.2014).

17. Haas P.J., Koenig C. A Bi-Level Bernoulli Scheme for Database Sampling // Proceedings of the ACM SIGMOD International Conference on Management of Data, Paris, France, June 13-18, 2004. ACM, 2004. P. 275-286. DOI: 10.1145/1007568.1007601.

18. Ioannidis Y.E., Poosala V. Histogram-Based Approximation of Set-Valued Query-Answer / / VLDB'99, Proceedings of 25th International Conference on Very Large Data Bases, September 7-10, 1999, Edinburgh, Scotland, UK. Morgan Kaufmann 1999. P. 174-185.

19. John G.H., Langley P. Static Versus Dynamic Sampling for Data Mining // Proceedings of the 2nd International Conference on Knowledge Discovery and Data Mining (KDD-96), Portland, Oregon, USA. AAAI Press, 1996. P. 367-370.

20. Lakshmi M.S., Yu P.S. Effectiveness of Parallel Joins // IEEE Transactions on Knowledge and Data Engineering. 1990. Vol. 2, No. 4. P. 410-424. DOI: 10.1109/69.63253.

21. Olken F., Rotem D. Random Sampling from Database Files: A Survey // Statistical and Scientific Database Management, 5th International Conference SSDBM, Charlotte, NC, USA, April 3-5, 1990, Proceedings. Springer, 1990. Lecture Notes in Computer Science. P. 92-111.

22. Oracle Database SQL Language Reference. URL: http://docs.ora-cle.com/cd/E11882_01/server.112/e41084/statements_10002.htm (accessed: 24.05.2014).

23. Palmer C.R., Faloutsos C. Density Biased Sampling: an Improved Method for Data mining and Clustering // Proceedings of the 2000 ACM SIGMOD International Conference on Management of Data, May 16-18, 2000, Dallas, Texas, USA. ACM, 2000. P. 82-92. DOI: 10.1145/335191.335384.

24. Pan C.S., Zymbler M.L. Taming Elephants, or How to Embed Parallelism into PostgreSQL / / Database and Expert Systems Applications - 24th International Conference, DEXA 2013, Prague, Czech Republic, August 26-29, 2013. Proceedings, Part I. Springer, 2013. Lecture Notes in Computer Science. Vol. 8055. P. 153-164. DOI: 10.1007/978-3-642-40285-2_15.

25. Parthasarathy S. Efficient Progressive Sampling for Association Rules // Proceedings of the 2002 IEEE International Conference on Data Mining (ICDM 2002), 9-12 December 2002, Maebashi City, Japan. IEEE, 2002. P. 354-361. DOI: 10.1109/ICDM.2002.1183923.

26. Wu X., Wang Y., Guo S., Zheng Y. Privacy Preserving Database Generation for Database Application Testing / / Fundamenta Informaticae. 2007. Vol. 78, No. 1. P. 595-612.

27. Yin X., Han J., Yang J., Yu P.S. Efficient Classification across Multiple Database Relations: A CrossMine Approach // IEEE Transactions on Knowledge and Data Engineering. 2006. Vol. 18, No. 1. P. 770-783. DOI: 10.1109/TKDE.2006.94.

Received August 11, 2014.

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