1 Система хранения XML СУБД Sedna Андрей Фомичев Институт Системного Программирования РАН 5 апреля 2005.

Презентация:



Advertisements
Похожие презентации
Поддержка триггеров в системах XML-баз данных Мария Гринева Институт Системного Программирования РАН.
Advertisements

Тема 11 Принципы построения и работы баз данных Тема 01: Введение.
Сравнение различных методов хранения XML в реляционных базах данных и в разных системах. Нгуен Тхань Хуен- 545 группа Руководитель : Б.А. Новиков Рецензент:
XML eXtensible Markup Language 1.Пространства имён (Namespaces) 2.Язык навигации внутри XML-документа (XPath)
50/codd.pdf 50/codd.pdf
ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ УПРАВЛЕНИЯ Обработка и хранение информации.
Тема 2. Концептуальное проектирование. Лекция 1. Уровни моделей и этапы проектирования.
БАЗЫ ДАННЫХ ЛЕКЦИЯ 14. тема: XML-ТЕХНОЛОГИИ В БАЗАХ ДАННЫХ.
СИСТЕМА МАССОВОЙ ИНТЕГРАЦИИ БАЗ ДАННЫХ: ФУНКЦИОНАЛЬНЫЕ ВОЗМОЖНОСТИ И СПОСОБ РЕАЛИЗАЦИИ В.Н. Коваленко, Е.И. Коваленко, А.Ю. Куликов Институт прикладной.
Распределение памяти. Динамическое выделение памяти.
Декомпозиция сложных дискретных систем, формализованных в виде вероятностных МП-автоматов. квалификационная работа Выполнил: Шляпенко Д.А., гр. ИУ7-83.
Тема 3.2 Многоуровневый подход Обобщением предыдущего подхода является организация ОС как иерархии уровней. Уровни образуются группами функций операционной.
Планирование выполнения инструкций для векторных процессоров с переменной длиной векторов Пантелеев Алексей Юрьевич Национальный исследовательский ядерный.
Разработка модуля построения отчетов в единой информационной системе КузГТУ Научный руководитель: ст. преподаватель кафедры ВТ и ИТ Лу Павел Цзуйлянович.
Устный счет. НАЗОВИТЕ ЧИСЛО, СОСТОЯЩЕЕ ИЗ 1 ДЕСЯТКА. НАЗОВИТЕ ЧИСЛО, СОСТОЯЩЕЕ ИЗ 1 ДЕСЯТКА И 5 ЕДИНИЦ. НАЗОВИТЕ ЧИСЛО, КОТОРОЕ НА 1 ЕДИНИЦУ БОЛЬШЕ, ЧЕМ.
Тема 2. Основы теории баз данных Лекция 3. Архитектура системы баз данных Базы данных.
Построении территориально распределенных систем Магистерская диссертация БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ФАКУЛЬТЕТ ПРИКЛАДНОЙ МАТЕМАТИКИ и ИНФОРМАТИКИ.
Архитектура и обеспечение систем базы данных. СУБД.
Введение в базы данных. Реляционное проектирование Затрагиваемые темы Проблемы, решаемые хранением данных в СУБД Проблемы, решаемые хранением данных в.
Введение в базы данных Лямин Андрей Владимирович.
Транксрипт:

1 Система хранения XML СУБД Sedna Андрей Фомичев Институт Системного Программирования РАН 5 апреля 2005

2 План доклада Краткое описание XML СУБД Sedna Хранение XML-данных во внешней памяти Управление памятью: слоистая организация адресного пространства Стратегии выполнения XPath-запросов Заключение

3 XML СУБД Sedna Поддержка всех традиционных функций СУБД Эффективное хранение больших объемов XML-данных Поддержка языка запросов XQuery Sedna – полнофункциональная прирожденная XML СУБД, разработанная с нуля, призванная решать следующие задачи: Языки реализации – C/C++ и Scheme

4 XML СУБД Sedna: задачи, которые необходимо решать Переосмысление традиционных подходов к решению задач управления данными на совершенно разных уровнях, начиная с методов представления данных во внешней памяти и заканчивая вопросами ограничения целостности и безопасности. Представление данных во внешней памяти Управление памятью

5 Методы хранения XML-данных Реляционные СУБД –BLOB, CLOB –Декомпозиция на отношения Прирожденные (Native) XML СУБД –Дерево во внешней памяти –Нумерующие числа

6 XPath-запросы /child::a/descendant::b/child::c a bac bcbaa bcc a bac bcbaa bcc a bac bcbaa bcc a bac bcbaa bcc Структурные XPath-запросы child:: descendant:: attribute:: self:: descendant-or-self:: /child::a/descendant::b[child::d/child::text() = Bob]/child::c

7 Описывающая схема Foundation on databases Abiteboul Hull Vianu... An Introduction to Database Systems Date Addison-Wesley 2004 A Relational Model for Large Shared Data Banks Codd... The Complexity of Relational Query Languages Codd library book paper titleauthorissue publisheryear titlebook /child::library/child::book/child::title library book title

8 Структура хранения title... Идентификатор узла Нумерующее число Таблица косвенности дети Следующий в блоке Сосед справа Предыдущий в блоке Сосед слева родитель

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

10 Какие изменения блоков влечет за собой изменение узла Оценка количества блоков, которые придется изменить не зависит от размера документа узел левый сосед правый сосед родитель Таблица косвенности ребенок

11 Требования к указателям и методу их реализации 1.Указатели должны существовать в адресном пространстве большого размера 2.Операция разыменования указателя должна быть эффективной 3.Необходимо минимизировать расходы связанные с подменой указателей (pointer swizzling) или полностью избежать их

12 Подмена указателей (pointer swizzling)Подмена указателей (pointer swizzling) Стратегии подмены указателей Автоматическая подмена указателей (automatic swizzling) Подмена указателей по требованию (swizzling on demand) Запрет подмены указателей (no swizzling) Внешняя память Оперативная память Адрес в базе данных Адрес оперативной памяти

13 Идея слоистого адресного пространства Расширенное адресное пространство + собственный механизм виртуальной памяти Адрес в базе данных = Адрес памяти Нет необходимости в подмене указателей

14 Поддержка слоистого адресного пространства

15 Экспериментальные результаты Загрузка тестового XML-документа XMark размером 113Мб ~60 миллионов переключений между блоками накладные расходы связанные с поддержкой слоистой организации адресного пространства составили 3%

16 XPath-запросы с предикатами: способы выполнения Способы выполнения /child::dep/child::person[child::data/child::salary=100] dep person data salary сверху-вниз (top-down) снизу-вверх (bottom-up) слияние (merge) сверху-вниз (top-down) снизу-вверх (bottom-up) слияние (merge)

17 XPath-запросы с предикатами: пример (1) /library/book [issue/year=2004]/ title

18 XPath-запросы с предикатами: пример (2) /*/book [author=Date]/ issue[year=2004]/ publisher

19 XPath-запросы с предикатами: пример (3) /library/* [.//publisher]

20 Спасибо за внимание! Google it: Sedna XML DBMS