Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

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 ) режиме.

содержание       назад       вперед

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...