02-09-2023
Логотип Sedna |
|
Тип | |
---|---|
Разработчик | |
Операционная система | |
Последняя версия | |
Лицензия | |
Сайт |
http://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.
СУБД постоянно развивается, функционирует техническая поддержка.
Системы управления базами данных (СУБД) | |
---|---|
Клиент-серверные |
Caché • CouchDB • IMS • DB2 • Firebird • Informix • Ingres • InterBase • MS SQL Server • MongoDB • MySQL • mSQL • Oracle Database • Pervasive SQL • PostgreSQL • Sybase ASE • Sybase ASA • Sybase IQ • Teradata Database • ЛИНТЕР |
Движки | |
Файл-серверные |
DataFlex • dBase • MS Access • OpenOffice.org Base • Paradox • |
Sedna.