Разработка модели родительской селективности для оптимизации запросов в XML базах данных

advertisement
Разработка модели родительской
селективности для оптимизации
запросов в XML базах данных
Чернышев Г.А. 545 гр.
Научный руководитель Барашев Д. В.
Селективность

Количественная величина.

Показывает распространенность
объектов, удовлетворяющих
заданным свойствам
Виды селективности

Селективность узла n и набора
предикатов s - количество узлов с тегом
n, которые удовлетворяют набору
предикатов s.

Родительской селективностью узла n
будет называться та часть узлов p,
которая будет найдена при вычислении
запроса (такого, что узел n – входит в
запрос) выходящего из p.
XML алгебра

Механизм оптимизации

Правильный порядок вычислений
может дать преимущество в
скорости в десятки раз
Схема использования
модели селективности
Статистика
Модуль оценки
селективности
Запрос
Оптимизатор
Вычисление родительской
селективности
Родительская селективность для
дочернего узла n и родительского p
показывает распространенность
этой связки вершин.
 может быть вычислена по формуле:

S 
p n
1
 Fn * NCARDn *
Fout p ,n
Построение оптимального
плана

Опр: суммарная стоимость вычисления
двух путей, исходящих из одной
вершины, будет сумма стоимостей
вычисления первого снизу вверх и
второго сверху вниз

В общем случае:
1)Сортируем детей по родительской
селективности
2)Вычисляем путь с наименьшей
селективностью снизу вверх
3)Сверху вниз, в порядке возрастания,
считаем остальные пути.
Как считать Fan-out(n,p)?
(стандартная модель)

Быстрое вычисление, могут
пользоваться уже хранящимися
данные

Не точна, основана на “наивных”
предположениях

Дополнительной памяти не требует
Как считать Fan-out(n,p)?
(предложенное решение)
P
A
C
B
D
E
B
F
B
F
G
P
G
A
F
G
A
B
B
C
D
E
1
1
1
1
1
1
1
1
2
1
1
Свойства полученной
модели



“Сжатие” статистики. Если в графе много
похожих кустов, можно хранить данные о
n самых частых, остальные вычислять
старым методом
Масштабируемость системы: выделяя
больше памяти – получаем лучший
результат
Возможности для паралеллизации
(хранение структуры, исполнение
алгоритма)
Измерения

Измерение количества проверок
предикатов на истинность

Количество требуемой памяти
(максимальное) для хранения
промежуточных результатов
Тесты
количество элементов
Объем промежуточных данных
(запросы имеющие непустое множество ответов)
350
Обычная Р.С.
300
250
Улучшенная Р.С.
200
150
Вычисление снизу
вверх
100
Вычисление сверху
вниз
50
0
2
3
4
5
количество дочерних вершин
Тесты
количество элементов
Объем промежуточных данных
(запросы имеющие пустое множество ответов)
160
140
120
100
Обычная Р.С.
Улучшенная Р.С.
80
Вычисление снизу вверх
60
Вычисление сверху вниз
40
20
0
2
3
4
5
количество дочерних вершин
Заключение

Придумана модель селективности:
структура данных

Написана тестовая система

Произведены тесты. Показано
улучшение измеряемых характеристик
Download