2004 г
XML-СУБД Sedna: технические особенности и варианты использования
Максим Гринев, Сергей Кузнецов,
Андрей Фомичев
Статья была опубликована в журнале “ Открытые системы”
содержание
Технические особенности
В настоящее время оптимизация запросов в СУБД Sedna основывается на методах
перезаписи XQuery -запросов под управлением набора правил. В будущих версиях
системы будет использоваться и оценочная оптимизация. В текущем оптимизаторе
запросов используются следующие методы.
- Метод открытой подстановки тел функций [7] позволяет заменить
вызов определенной пользователем функции на ее тело. Открытая подстановка устраняет
накладные расходы, порождаемые при вызове функции, и дает возможность совместной
статической оптимизации тела функции совместно с общим кодом запроса. Реализованный
алгоритм открытой подстановки корректно обрабатывает вызовы не рекурсивных
и структурно рекурсивных функций и разумным образом завершается при обработке
вызовов произвольных рекурсивных функций.
- Метод “выдавливания” ( push down )
предикатов ниже конструкторов элементов XML [8] позволяет изменить порядок
операций таким образом, чтобы предикаты применялись до выполнения конструкторов
XML -элементов. Это позволяет уменьшить размер промежуточных результатов, к
которым применяются конструкторы.
- При применении метода “проекции преобразования” ( projection of transformation )
[8] выражение XPath статически применяется к конструкторам элементов. Это позволяет
избежать избыточных вычислений в конструкторах XML -элементов на стадии выполнения
запроса.
- Метод упрощения запроса на основе использования схемы оказывается
полезным в тех случаях, когда схема XML -документа доступна оптимизатору, а
запрос сформулирован пользователем, не имеющим отчетливого представления об
этой схеме. Получение более точной формулировки запроса позволяет избежать
избыточного сканирования данных, свойственного запросам, при формулировке которых
не учитывалась схема. Этот оптимизационный метод базируется на статическом
выводе типов данных в языке XQuery .
- Метод повышения уровня декларативности формулировки запроса дает
возможность расширить пространство поиска оптимизатора при выборе оптимального
плана выполнения запроса. Метод является адаптацией аналогичного SQL -ориентированного
метода [9], позволяющего преобразовывать SQL -запросы со вложенными подзапросами
в эквивалентные запросы с соединениями.
- Нормализация предикатов соединения состоит в их приведении в
конъюнктивную нормальную форму, чтобы можно было использовать различные алгоритмы
выполнения операции соединения, а не только алгоритм вложенных циклов. Для
достижения этой цели в оптимизаторе СУБД Sedna из предикатов соединения извлекаются
подвыражения, подобные операторам XPath , и помещаются вне операций соединения,
где они вычисляются только один раз.
- Наконец, метод распознавания инвариантных подвыражений в теле итерационных операций
и вынесения их за пределы этих операций позволяет уменьшить вычислительную сложность
запроса.
Для обеспечения сериализуемости транзакций применяется вариант известного
строгого двухфазного протокола синхронизационных блокировок (2 PL ). В текущей
версии системы единицей блокировки является XML -документ целиком. Однако во
многих случаях блокировка всего XML -документа не требуется и приводит к уменьшению
уровня параллельности. Поэтому разрабатывается новый метод “гранулированных”
блокировок, позволяющий поддерживать высокий уровень параллельности [10].
Основная идея метода состоит в использовании нумерующей схемы для блокировки
узлов и поддеревьев XML -документа. Блокировка целого поддерева реализуется
посредством блокировки интервала меток нумерующей схемы, включающего метки
всех узлов этого поддерева. Этот интервал может быть вычислен на основе метки
корневого узла поддерева. При этом подходе для блокировки поддерева не требуется
блокировка узлов-предков корня поддерева в “целевом” ( intention )
режиме.
содержание назад вперед
|
 |
 |
|
|
 |
 |
 |
Новости мира IT:
- 19.06 - В России появятся складные смартфоны на отечественной платформе «Ред ОС М»
- 19.06 - В переговорах OpenAI и Microsoft сохраняется несколько важных противоречий
- 19.06 - OpenAI вскрыла тёмные личности в ИИ, отвечающие за ложь, сарказм и токсичные ответы
- 19.06 - Поставщиком гибких дисплеев для складного iPhone будет компания Samsung
- 19.06 - Apple намеревается использовать ИИ для разработки своих чипов
- 18.06 - «Сбер» выпустит отечественный рассуждающий ИИ
- 18.06 - Google выпустила финальную версию мощной ИИ-модели Gemini 2.5 Pro, а также экономную Gemini 2.5 Flash-Lite
- 18.06 - ИИ-стартап xAI Илона Маска собрался привлечь ещё $4,3 млрд в дополнение к $5 млрд долговых обязательств
- 18.06 - Роскомнадзор пойдёт по трафику: операторов обяжут раскрыть маршруты и устройства в сетях
- 11.06 - Опубликована 65 редакция рейтинга самых высокопроизводительных суперкомпьютеров
- 11.06 - ВТБ начал тестировать отечественную альтернативу Apple Pay — сервис «Волна» от НСПК
- 11.06 - Google выпустила стабильную версию Android 16, но масштабный редизайн ещё не готов
- 11.06 - Руководство Apple признало, что первая попытка создать ИИ-версию Siri провалилась
- 11.06 - Госдума РФ приняла законопроект о создании российского национального мессенджера
- 11.06 - OpenAI выпустила мощную модель o3-pro, но она медленнее, чем o1-pro
- 11.06 - IBM построит первый в мире модульный квантовый компьютер с 200 логическими кубитами и встроенной коррекцией ошибок
- 11.06 - Nintendo установила рекорд, продав более 3,5 млн консолей Switch 2 всего за четыре дня
- 09.06 - Презентация национального российского мессенджера состоится уже летом
- 09.06 - Apple представила iPadOS 26 со стеклянным дизайном, окнами и другими улучшениями
- 09.06 - Российские 4G и 5G заработают на зеленоградских чипах
Архив новостей
|
 |
 |
 |
|
 |
 |
 |
|
|
 |
 |
|