Каммингс, Рэй
- 1 year ago
- 0
- 0
Sedna — система управления базами данных , изначально спроектированная для хранения и обработки XML -данных. Разработана и развивается Отделом управления данными и информационных систем Института системного программирования РАН . Система распространяется в открытых исходных текстах . Существуют версии под Windows , Linux , Mac OS и FreeBSD .
СУБД Sedna поддерживает древовидную модель данных (хранимых в двоичном виде), которые загружаются и извлекаются в виде XML-документов. Данные оптимизируются и индексируются для рационального хранения и быстрого доступа.
Прирождённые XML-СУБД в настоящее время активно развиваются — в ряде применений они начинают конкурировать с традиционными реляционными СУБД . СУБД Sedna выглядит достойно в сравнении с другими XML-СУБД: во-первых, за счёт эффективных внутренних механизмов (например, собственного 64-разрядного диспетчера памяти, адресации и подкачки ), во-вторых, из-за полного соответствия стандарту на язык запросов XQuery , в третьих, за счёт возможности интеграции в XML БД наследованных реляционных источников данных (см. ниже).
Запросы к БД выполняются посредством формулирования запросов на специальном языке XML Query ( XQuery ). Этот язык стандартизирован консорциумом W3C . Язык является функциональным, строго типизированным, модульным, весьма выразительным и изящным. В его разработке принимали участие ведущие специалисты отрасли СУБД. Язык XQuery позволяет извлекать древовидные данные, трансформировать их и генерировать в качестве результата опять же древовидные данные (XML). Это позволяет строить эффективные решения в области Интернет-приложений: функции, написанные на XQuery, могут генерировать непосредственно XHTML -страницы (или фрагменты страниц). СУБД Sedna поддерживает хранение XQuery-функций на сервере, в предкомпилированном виде.
Отдельная группа средств СУБД Sedna позволяет использовать её для интеграции в едином XML-представлении различных унаследованных реляционных БД. Sedna может быть сконфигурирована как шлюз, выполняющий SQL -запросы к реляционным БД (через интерфейс ODBC ) и представляющий их результаты единым образом в виде XML.
Разработчики позиционируют свой продукт как основу для различного рода информационных систем, подобных системам управления контентом и событийным сервис-ориентированным архитектурам ( SOA ).
Демонстрацией возможностей Sedna как хранилища для документов является WikiXMLDB . В эту систему было загружено 20 Гб содержания английской Википедии . К этому содержанию можно формулировать XQuery-запросы.
Работа с СУБД ведётся через открытый сетевой протокол Sedna Client-Server Protocol. Поверх этого протокола написаны драйверы (API) для клиентов на C , Java , Scheme , PHP , Python . Весьма удобна работа с СУБД из функционального языка Scheme, поскольку его основной тип — древовидные S-выражения — полностью изоморфен (однороден) модели данных XML. Разработчики СУБД Sedna предложили спецификацию SXML — форму записи XML-данных в виде S-выражений языка Scheme.