XML-СУБД Sedna технические особенности и варианты использования


Технические особенности


В настоящее время оптимизация запросов в СУБД Sedna основывается на методах перезаписи XQuery -запросов под управлением набора правил. В будущих версиях системы будет использоваться и оценочная оптимизация. В текущем оптимизаторе запросов используются следующие методы.

  • Метод открытой подстановки тел функций [] позволяет заменить вызов определенной пользователем функции на ее тело. Открытая подстановка устраняет накладные расходы, порождаемые при вызове функции, и дает возможность совместной статической оптимизации тела функции совместно с общим кодом запроса. Реализованный алгоритм открытой подстановки корректно обрабатывает вызовы не рекурсивных и структурно рекурсивных функций и разумным образом завершается при обработке вызовов произвольных рекурсивных функций.
  • Метод “выдавливания” ( push down ) предикатов ниже конструкторов элементов XML [] позволяет изменить порядок операций таким образом, чтобы предикаты применялись до выполнения конструкторов XML -элементов. Это позволяет уменьшить размер промежуточных результатов, к которым применяются конструкторы.
  • При применении метода “проекции преобразования” ( projection of transformation ) [] выражение XPath статически применяется к конструкторам элементов. Это позволяет избежать избыточных вычислений в конструкторах XML -элементов на стадии выполнения запроса.
  • Метод упрощения запроса на основе использования схемы оказывается полезным в тех случаях, когда схема XML -документа доступна оптимизатору, а запрос сформулирован пользователем, не имеющим отчетливого представления об этой схеме. Получение более точной формулировки запроса позволяет избежать избыточного сканирования данных, свойственного запросам, при формулировке которых не учитывалась схема. Этот оптимизационный метод базируется на статическом выводе типов данных в языке XQuery .
  • Метод повышения уровня декларативности формулировки запроса дает возможность расширить пространство поиска оптимизатора при выборе оптимального плана выполнения запроса. Метод является адаптацией аналогичного SQL -ориентированного метода [], позволяющего преобразовывать SQL -запросы со вложенными подзапросами в эквивалентные запросы с соединениями.



  • - Начало -  - Назад -  - Вперед -



    Книжный магазин