Основанные на вейвлетах гистограммы для оценки селективности запросов

УДК 20.23.17

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

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

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

Введение

Некоторые важные компоненты систем управления базами данных (СУБД) требуют точной оценки селективности конкретного запроса. Например, оптимизаторы запросов используют это для оценки точности конкретного запроса при оценке затрат различных вариантов его выполнения и выбора наиболее удачного варианта. При этом множество рассматриваемых предикатов представляют запросами выбора, в частности предикатов диапазона вида а < X < Ь, где X — неотрицательный атрибут области отношений Я, а а и Ь — константы. Множество равных предикатов — подмножество предикатов диапазона, соответствующих а = Ь . Множество односторонних предикатов диапазона — особый случай предикатов диапазона, в котором а = -да или Ь = да .

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

Область определения В = {0,1,2,..., N -1} атрибута X есть множество всех значений X. Множество значений V с В включает п определенных значений X, фактически представленных в отношении Я. Пусть у1 <у2 <...уп — п значений V. Разброс я, от у{ определяется, как = ум - у{ (мы принимаем я0 = у1, а яп = 1). Частота от у{ представляет собой число записей, в которых X принимает значение у{. Совокупная частота

с, от у{ — число записей т е Я с t.Я < у,, т.е. с, =Х ’ = 1 ^ . Представление данных для X состоит из множества пар Т = {(у1,/1),(у2,/2),...,(уп,/п)}. Обобщенное представление данных для X состоит из множества пар Тс = {(у1,с1),(у2,с2),...,(уп,сп)}. Расширенное обобщенное представление данных для X, обозначаемое Тс +, образуется из множества Тс путем дополнения его до размера области В присвоением нулевого значения всем частотам в В - V .

Для оценки селективности может использоваться случайное осуществление выборки. Самый простой способ использовать случайное осуществление выборки для оценки селективности во время автономной фазы состоит во взятии случайной выборки определенного размера (в зависимости от ограничения размера каталога) по отношению. Когда запрос представлен в фазе оперативного режима, запрос сравнивается с выборкой, и селективность оценивается явным способом: Если размер результата за-

АМЛОГВИНОВ , Ю1. ПОЛЕНОВА , ГА. ТРАВИН, М.Г. ТРАВИН

Белгородский

государственный

университет

e-mail: travin@bsu.edu.ru

проса при использовании выборки размера т является 8, селективность оценивается как яМ/т, где M — размер отношения.

Наилучшие показатели получены на основе применения гистограмм Махй1Г1:(У,А) [1]. В то же время дальнейшее совершенствование гистограмм в оценке селективности запросов представляет собой актуальную задачу. Цель работы — усовершенствование гистограмм в оценке селективности запросов при ограниченном объеме памяти базы данных, а также разработка быстрых алгоритмов построения гистограмм и их использование для оценки селективности в режиме прямого доступа. Поставленная цель достигнута за счет использования предложенного метода, основанного на кратномасштабном вейвлет-преобразовании для построения гистограмм на основных распределениях данных применительно к базам данных, статистике и моделированию.

Предлагаемый метод, основанный на вейвлетах

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

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

1. На шаге предварительной обработки формируется расширенное обобщенное распределение данных Тс + атрибута X путем преобразования предварительно вычисленного представления Т из исходных данных или из случайной выборки данных.

2. Вычисляется вейвлет-разложение Тс +, что дает ряд N коэффициентов вейвлетов. В своих экспериментах при разложении мы использовали вейвлеты Хаара и линейные сплайны.

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

Пороговая обработка

Учитывая ограниченность памяти для гистограммы, мы можем хранить только определенное число коэффициентов вейвлетов N. Пусть т обозначает число коэффициентов вейвлетов, для которых имеется пространство для хранения; остальные коэффициенты будут неявно установлены в о. Обычно мы имеем т  N. Цель пороговой обработки заключается в определении «лучших» т сохраняемых коэффициентов для минимизации ошибки приближения.

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

Мы можем измерить ошибку приближения гистограммами несколькими способами. Пусть 8, — реальный размер запроса qi, и пусть 8'^ — предполагаемый размер запроса. Мы использовали следующие три различных меры для ошибки е{ запро-

са qt:

1. Абсолютная ошибка запроса:

2. Относительная ошибка запроса:

3. Совместная ошибка запроса:

e“mb = min {aef",pe? },

comb

= min

где аи 3 — положительные константы. Если Si > 0, мы полагаем е,с

comb

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

Как только мы определяем, какая из вышеупомянутых мер будет использоваться для представления ошибки определенных запросов, необходимо выбрать норму измерения ошибки совокупности запросов. Пусть e = (e1; e2...eQ) — вектор ошибок последовательности Q запросов. Полагается, что используется одна из вышеупомянутых трех мер ошибки для каждой из ошибок конкретного запроса et. Например, для абсолютной ошибки, можно записать e = (e1;e2,...eQ) = eabs = (e1abs,ejf8,...,eQ). Мы определяем

полную ошибку для Q запросов одной из следующих норм ошибки:

1. Средняя ошибка с одномерной нормой:

1 Q

Н= Q Z«.

2. Средняя ошибка с двумерной нормой:

П 2 =

11 e2

q 1<i <Q

3. Средняя ошибка с бесконечномерной нормой:

lie = max {e.} .

II Им 1<;<q l D

Эти меры ошибок представляют собой частные случаи средней ошибки с p-мерной нормой, p > 0:

( л V'p

e =

II lip

- X

Q 1<i<Q

, p > о.

Первый шаг пороговой обработки заключается во взвешивании коэффициентов определенным образом (соответствующим специфике используемого базиса, например, ортонормированного). В частности, для базиса Хаара нормализация проводится делением коэффициентов вейвлетов 8(21), ... £(21+1 -1) на 42 , где 0 < 1 < ^2 N -1. Для любого данного частного взвешивания предлагаются следующие различные методы пороговой обработки:

1. Выбор т наибольших по абсолютному значению коэффициентов вейвлетов.

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

а) выбрать коэффициенты вейвлетов, включение которых приводит к наибольшему снижению ошибки;

б) исключить коэффициенты вейвлетов, удаление которых приводит к наименьшему увеличению ошибки.

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

Возможны другие варианты поглощающего метода:

3. Начать с т/2 наибольших (по абсолютному значению) коэффициентов вейвлетов и производить выбор следующих т/2 коэффициентов методом поглощения.

4. Начать с наибольших 2т (по абсолютному значению) коэффициентов вейвлетов, уменьшая их количество до т методом поглощения.

После вышеупомянутого алгоритма мы получаем т коэффициентов вейвлетов Значения этих коэффициентов вместе с их положениями (индексы), сохраняются и служат гистограммой для восстановления приближенного распределения данных на

фазе прямого доступа (фазе запроса). Чтобы вычислить оценку числа кортежей, чье значение X находится в диапазоне а < X < Ь , мы восстанавливаем приближенные значения для Ь и а -1 в расширенном обобщенном распределении функции и затем вычитаем их.

Прямой метод выполнения каждой итерации метода поглощения требует О(№') операций, таким образом, полное число операций составляет О(т№'). С поддержкой особой древовидной структуры динамического программирования мы можем значительно ускорить предварительную обработку.

На фазе запроса использовался запрос диапазона а < X < Ь . Восстанавливались аппроксимации обобщенных частот а -1 и Ь, обозначенные, как с'а и с'ъ, с использованием т коэффициентов вейвлетов. Ожидаемый размер запроса составляет с'ь - с'а.

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

Часто полезно представить гистограмму как явную кусочно гладкую функцию, а не как т коэффициентов вейвлетов. Для вейвлетов Хаара результирующая функция представляет собой ступенчатую функцию с не более 3т шагами в худшем случае, а для линейных сплайнов — линейную кусочную функцию с не более 5т изменениями наклона в худшем случае. В реальных данных можно ожидать, что число шагов или сегментов очень близко к т (во многих случаях оно точно т). Это свойство было подтверждено обширным набором экспериментов. Предыдущие методы представления гистограмм в виде кусочно гладкой функции требовали О(Щ времени, хотя некоторые исследователи подозревали, что возможна разработка алгоритмов, требующих времени О(т1о§2 Щ . Мы разработали эффективную и практичную технику, используя очередь приоритетов, что предполагает существенное ускорение обработки запросов.

Результаты моделирования и экспериментальные данные

Далее приводится ряд экспериментов, которые проводились для сравнения работы предлагаемой методики, основанной на вейвлетах, с полученными результатами, основанными на случайной выборке и других методах [1, 3]. Используемые искусственные наборы данных взяты от предыдущих исследований формирования гистограмм по тесту ТРС-й [4]. Они соответствуют исследованиям типичных данных, найденных в Интернете. Для простоты и облегчения повторяемости, мы использовали метод 1 для пороговой обработки во всех экспериментах с вейвлетами.

Приведем результаты сравнения эффективности гистограмм, основанных на вейвлетах, с гистограммами MaxDiff(V,A) и случайным осуществлением выборки. Для сравнения берутся характеристики гистограмм из предшествующих работ [1]. Так как в указанной работе делается заключение о наилучших показателях гистограмм MaxDiff(V,A), для сравнения были выбраны они.

В экспериментах мы использовали множество искусственных распределений данных, описанных подробно в [1]. Использованные распределения включают типы одномерных распределений по тесту ТРС-й [4].

В экспериментах мы использовали восемь различных вариантов запросов:

A: {X < Ь | Ь е В};

B: {X <Ь | Ь е V};

С: {а < X < Ь | а,Ь е В,а < Ь};

й: {а < X < Ь | а, Ь е¥, а < Ь}

E: {а < X < Ь | а е В,Ь = а + Д}, где А - положительная целая постоянная;

Р: {а < X < Ь | а е V,Ь = а + Д}, где А - положительная целая постоянная;

в: {X = Ь | Ь е В};

Н: {X = Ь | Ь е V}.

В проводимых экспериментах всем методам отводится один и тот же объем памяти. Объем памяти по умолчанию, использованный в экспериментах, составляет 42 четырехбайтовых числа для соответствия повторяемости экспериментов, проведенных в [1]. Ограничения объема памяти соответствуют практике в системах управления базами данных, чтобы выделять только незначительный вспомогательный объем памяти каждому отношению для оценки селективности [5]. Эти 42 числа соответствуют использованию 14 сегментов для гистограммы MaxDiff(V,A) и хранению m = 21 коэффициентов вейвлетов для основанных на вейвлетах гистограмм, а также поддержанию случайной выборки размера 42.

В этих экспериментах множество значений и набор частот распределены по закону Ципфа с параметром z = 1.0. Частоты случайным образом назначены элементам значений, заданы размер множества значений n = 500, размер области N = 4096 и размер отношения M = 105. В табл. 1-5 представлены результаты ошибки методов для запросов A, B, C, D и H, а на рис. 1 приведены графики качества аппроксимации обобщенного распределения данных различными методами.

Таблица 1

Ошибки различных методов для ряда запросов A

Норма ошибки Линейные сплайны Вейвлеты Хаара MaxDiff(V,A) Случайная выборка

lle1li 0.6% 4.5% 8% 20%

eabs |/ M 0.16% 0.8% 3% 8%

КЦ/ м 1.5% 5.6% 11% 13%

ecomb [ , a = 1, p = 100 0.6 4.4 8 20

ecomb || , a = 1, p = 1000 5 30 80 200

ecomb [ , a = 1, p = 100 5.1 70.4 12.8 19

ecomb || , a = 1, p = 1000 19 224 192 243

Таблица 2

Ошибки различных методов для ряда запросов C

Норма ошибки Линейные сплайны Вейвлеты Хаара MaxDiff(V,A) Случайная выборка

eabs / M 1 0.2% 1.1% 5% 3.5%

eabs / M 2 0.035% 0.18% 0.71% 0.6%

eabs J M 2.4% 10% 20% 16%

Таблица 3

Ошибки различных методов для ряда запросов Е при А = 10

Норма ошибки Линейные сплайны Вейвлеты Хаара MaxDiff(V,A) Случайная выборка

eabs / M 1 0.1% 0.42% 0.15% 0.35%

eabs / M 2 0.19% 0.96% 0.26% 0.64%

eabs J M 1.5% 6% 3% 4.6%

Ошибки различных методов для ряда запросов в

Таблица 4

Норма ошибки Линейные сплайны Вейвлеты Хаара МахйіГІ^Д) Случайная выборка

е* / м 1 0.03% 0.04% 0.04% 0.04%

еаЬ5 / м 2 0.077% 0.32% 0.096% 0.24%

еаЬ5 „/ м 1.6% 7% 2% 4.6%

Ошибки различных методов для ряда запросов Н Таблица 5

Норма ошибки Линейные сплайны Вейвлеты Хаара МахйіГІ^Д) Случайная выборка

е* / м 1 0.03% 0.42%% 0.2% 0.4%

еаЬ5 / м 2 7.7% 16.1% 25.6% 38%

еаЬ5 „/ м 0.2% 7% 2% 5%

В дополнение к вышеупомянутым экспериментам мы также применяли метод MaxDiff(V,A), измененный путем хранения только двух чисел для каждого сегмента вместо трех (в частности не сохранялось число различных значений в каждом сегменте), что позволило получить в гистограмме 21 сегмент вместо 14. Точность оценки была улучшена. Преимуществу добавленных сегментов несколько противостояло менее точное моделирование в пределах каждого сегмента. Качественные результаты, однако, остаются теми же самыми: основанные на вейвлетах методы значительно более точны. Дальнейшие усовершенствования методов вейвлетов, конечно, возможны квантованием и кодированием энтропии, но они не рассматриваются в рамках этой статьи.

Рис. 1. Аппроксимация совокупного распределения данных различными методами: а) линейными сплайнами; б) вейвлетами Хаара; в) Мах01П:(У,А); г) осуществлением случайной выборки

Рис. 2. Влияние объема памяти на различные гистограммы для набора запросов A

Выводы

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

Эксперименты показали, что применяя новый метод пороговой обработки в построении основанных на вейвлетах гистограмм, можно достичь намного большей точности даже для маломерных данных, которые рассматриваются в статье. Относительные ошибки могут быть существенно уменьшены (в три раза в типичных случаях), а абсолютные ошибки обычно сокращаются более чем на половину.

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

Литература

1. V. Poosala, Y. E. loannidis, P. J. Haas, and E. Shekita. Improved histograms for selectivity estimation of range predicates. In Proceedings of the 1996 ACM SIGMOD International Conference on Management of Data, Montreal, Canada, May 1996.

2. Census Bureau Databases, http://www.census.gov/.

3. G. Piatetsky-Shapiro and C. Connell. Accurate estimation of the number of tuples satisfying a condition. In Proceedings of the 1984 ACM SIGMOD International Conference on Management of Data, pages 256-276, 1984.

4. TCP benchmark D (decision support), 1995.

5. P. G. Selinger, M. M. Astrahan, D. D. Chamberlin, R. A. Lorie, and T. G. Price. Access path selection in a relational database management system. In Proceedings of the 1979 ACM SIGMOD International Conference on Management of Data, pages 23-34, 1979.

WAVELET-BASED HISTOGRAMS IN QUERY SELECTIVITY ESTIMATION

In this paper, we present a technique based upon a multiresolution wavelet decomposition for building histograms on the underlying data distributions, with applications to databases, statistics, and simula-AM LOGVINOV , Yu.L POLENOVA tion. Histograms built on the cumulative data values give very good

G.A. TRAVIN , M.G. TRAVIN approximations with limited space usage. We give fast algorithms for

constructing histograms and using them in an on-line fashion for se-

Belgorod State University lectivity estimation.

e-mail: travin@bsu.edu.ru

Keywords: data base, histogram, query, selectivity, wavelet.