Sedna

Из Википедии, бесплатной энциклопедии

Sedna
Скриншот программы Sedna
Логотип Sedna
Тип XML СУБД
Разработчик ИСП РАН
Написана на Си
Операционная система Кроссплатформенное программное обеспечение
Последняя версия 3.5.161 (31 января 2012)
Репозиторий sourceforge.net/p/sedna/…
Лицензия Apache License 2.0
Сайт sedna.org

Sedna[1] — система управления базами данных, изначально спроектированная для хранения и обработки XML-данных. Разработана и развивается Отделом управления данными и информационных систем Института системного программирования РАН[2]. Система распространяется в открытых исходных текстах. Существуют версии под Windows, Linux, Mac OS и FreeBSD.

СУБД Sedna поддерживает древовидную модель данных (хранимых в двоичном виде), которые загружаются и извлекаются в виде XML-документов. Данные оптимизируются и индексируются для рационального хранения и быстрого доступа.

Прирождённые XML-СУБД в настоящее время активно развиваются — в ряде применений они начинают конкурировать с традиционными реляционными СУБД[3][4]. СУБД Sedna выглядит достойно в сравнении с другими XML-СУБД: во-первых, за счёт эффективных внутренних механизмов (например, собственного 64-разрядного диспетчера памяти, адресации и подкачки[5]), во-вторых, из-за полного соответствия стандарту на язык запросов XQuery, в третьих, за счёт возможности интеграции в XML БД наследованных реляционных источников данных (см. ниже).

Запросы к БД выполняются посредством формулирования запросов на специальном языке XML Query (XQuery). Этот язык стандартизирован консорциумом W3C[6]. Язык является функциональным, строго типизированным, модульным, весьма выразительным и изящным. В его разработке принимали участие ведущие специалисты отрасли СУБД. Язык XQuery позволяет извлекать древовидные данные, трансформировать их и генерировать в качестве результата опять же древовидные данные (XML). Это позволяет строить эффективные решения в области Интернет-приложений: функции, написанные на XQuery, могут генерировать непосредственно XHTML-страницы (или фрагменты страниц). СУБД Sedna поддерживает хранение XQuery-функций на сервере, в предкомпилированном виде.

Отдельная группа средств СУБД Sedna позволяет использовать её для интеграции в едином XML-представлении различных унаследованных реляционных БД. Sedna может быть сконфигурирована как шлюз, выполняющий SQL-запросы к реляционным БД (через интерфейс ODBC) и представляющий их результаты единым образом в виде XML.

Разработчики позиционируют свой продукт как основу для различного рода информационных систем, подобных системам управления контентом и событийным сервис-ориентированным архитектурам (SOA).

Демонстрацией возможностей Sedna как хранилища для документов является WikiXMLDB[7]. В эту систему было загружено 20 Гб содержания английской Википедии. К этому содержанию можно формулировать XQuery-запросы.

Работа с СУБД ведётся через открытый сетевой протокол Sedna Client-Server Protocol. Поверх этого протокола написаны драйверы (API) для клиентов на C, Java, Scheme, PHP, Python. Весьма удобна работа с СУБД из функционального языка Scheme, поскольку его основной тип — древовидные S-выражения — полностью изоморфен (однороден) модели данных XML. Разработчики СУБД Sedna предложили спецификацию SXML[8][9] — форму записи XML-данных в виде S-выражений языка Scheme.

Примечания[править | править код]

  1. Sedna XML Database. Дата обращения: 18 сентября 2020. Архивировано 1 октября 2020 года.
  2. MODIS Department at ISP RAS. Дата обращения: 11 октября 2008. Архивировано из оригинала 25 января 2009 года.
  3. Есть ли будущее у XML-СУБД? Дата обращения: 14 октября 2008. Архивировано 4 марта 2016 года.
  4. Пакет Adabas остается самым популярным продуктом Software AG… | Computerworld | Издательство «Открытые системы». Дата обращения: 14 октября 2008. Архивировано 6 июня 2008 года.
  5. Управление памятью в XML-ориентированной СУБД Sedna Архивировано 11 февраля 2007 года.
  6. W3C XML Query (XQuery). Дата обращения: 11 октября 2008. Архивировано 1 ноября 2007 года.
  7. WikiXMLDB. Дата обращения: 2 декабря 2011. Архивировано из оригинала 29 ноября 2011 года.
  8. Электронные библиотеки | 2003 | Том 6 | Выпуск 4 | Д. А. Лизоркин, К. Ю. Лисовский. Дата обращения: 26 августа 2019. Архивировано из оригинала 7 мая 2018 года.
  9. SXML Tools Tutorial Архивировано 14 апреля 2007 года.

Литература[править | править код]

  • Говард Кац и др. W3C XML: XQuery от экспертов. Руководство по языку запросов, ISBN 5-9579-0051-6
  • Марк Грейвс. Проектирование баз данных на основе XML, ISBN 5-8459-0270-3

Ссылки[править | править код]