База данных XML - XML database
База данных XML является сохранение данных системы программного обеспечения , которое позволяет получать данные указания, а иногда хранятся в XML - формате. Эти данные можно запрашивать , преобразовывать, экспортировать и возвращать в вызывающую систему. Базы данных XML - разновидность документно-ориентированных баз данных, которые, в свою очередь, относятся к категории баз данных NoSQL .
Обоснование использования XML в базах данных
Существует ряд причин для прямого указания данных в XML или других форматах документов, таких как JSON . В частности, для XML они включают:
- На предприятии может быть много XML в существующем стандартном формате.
- Возможно, данные должны быть представлены или загружены как XML, поэтому использование другого формата, такого как реляционные силы, двойное моделирование данных
- XML очень хорошо подходит для разреженных данных, глубоко вложенных данных и смешанного содержимого (например, текста со встроенными тегами разметки)
- XML удобочитаем, тогда как реляционные таблицы требуют опыта для доступа
- Метаданные часто доступны в формате XML.
- Семантические веб-данные доступны в формате RDF / XML.
- Предоставляет решение для несоответствия объектно-реляционного импеданса
Стив О'Коннелл приводит одну причину использования XML в базах данных: все более широкое использование XML для передачи данных , что означает, что «данные извлекаются из баз данных и помещаются в документы XML и наоборот». Может оказаться более эффективным (с точки зрения затрат на преобразование) и проще хранить данные в формате XML. В приложениях, основанных на содержании, способность собственной базы данных XML также сводит к минимуму необходимость извлечения или ввода метаданных для поддержки поиска и навигации.
Базы данных с поддержкой XML
Базы данных с поддержкой XML обычно предлагают один или несколько из следующих подходов к хранению XML в традиционной реляционной структуре:
- XML хранится в CLOB ( большой символьный объект )
- XML «разбивается» на серию таблиц на основе схемы.
- XML хранится в собственном XML-типе, как определено в стандарте ISO 9075-14.
РСУБД, поддерживающие тип ISO XML:
- IBM DB2 (pureXML)
- Microsoft SQL Server
- База данных Oracle
- PostgreSQL
Обычно база данных с поддержкой XML лучше всего подходит там, где большая часть данных не является XML. Для наборов данных, в которых большинство данных представляют собой XML, лучше подходит собственная база данных XML .
Пример запроса типа XML в IBM DB2 SQL
select
id, vol, xmlquery('$j/name', passing journal as "j") as name
from
journals
where
xmlexists('$j[licence="CreativeCommons"]', passing journal as "j")
Собственные базы данных XML
Собственные базы данных XML специально предназначены для работы с данными XML. Поскольку управление XML как большими строками было бы неэффективным, и из-за иерархической природы XML для хранения и запросов используются настраиваемые оптимизированные структуры данных. Обычно это увеличивает производительность как с точки зрения запросов только для чтения, так и с точки зрения обновлений. Узлы и документы XML являются основной единицей (логической) памяти, так же как реляционная база данных имеет поля и строки.
Стандарт для запроса данных XML согласно рекомендации W3C - XQuery ; последняя версия - XQuery 3.1. XQuery включает XPath в качестве подъязыка, а сам XML является допустимым подсинтаксисом XQuery. Помимо XPath, некоторые базы данных XML поддерживают XSLT как метод преобразования документов или результатов запросов, полученных из базы данных.
Особенности языка
Имя | Лицензия | Родной язык | XQuery 3.1 | XQuery 3.0 | XQuery 1.0 | Обновление XQuery | Полный текст XQuery | Расширения EXPath | Расширения EXQuery | XSLT 2.0 | XForms 1.1 | XProc 1.0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
BaseX | BSD | Ява | да | да | да | да | да | да | да | да | да | Нет |
существовать | GNU LGPL | Ява | Частичное | Частичное | да | Проприетарный | Проприетарный | да | да | да | да | да |
Сервер MarkLogic | Коммерческий | C ++ | Нет | Частичное | да | Проприетарный | Проприетарный | Нет | Нет | да | да | Нет |
OpenText xDB | Коммерческий | Ява | Частичное | Частичное | да | да | да | Нет | Нет | Нет | Нет | Нет |
Oracle Berkeley DB XML | Коммерческий | |||||||||||
Qizx | Коммерческий | Ява | Нет | Нет | да | да | да | Нет | Нет | да | Нет | Нет |
Седна | Лицензия Apache 2.0 |
Поддерживаемые API
Имя | XQJ | XML: БД | ОТДЫХ | RESTXQ | WebDAV |
---|---|---|---|---|---|
BaseX | да | да | да | да | да |
существовать | да | да | да | да | да |
Сервер MarkLogic | да | Нет | да | да | да |
Qizx | Нет | Нет | да | Нет | Нет |
Седна | да | да | Нет | Нет | Нет |
Наборы данных XML, ориентированные на данные
Для наборов данных XML, ориентированных на данные, разработан и разработан уникальный метод поиска по ключевым словам, а именно XDMA для баз данных XML, на основе двойного индексирования и взаимного суммирования.
Рекомендации
Внешние ссылки
- Рейтинг собственных XML-СУБД по популярности, обновляемый ежемесячно, от DB-Engines
- Базы данных XML - экономическое обоснование, Чарльз Фостер, июнь 2008 г. - рассказывает о текущем состоянии баз данных и сохранении данных, о том, как текущая модель реляционной базы данных начинает трещать по швам, и дает представление о сильной альтернативе сегодняшним требованиям.
- База данных молекулярных путей на основе XML (2005-06-02) Сравнение скорости / производительности eXist, X-Hive, Sedna и Qizx / open
- Системы баз данных XML Native: Обзор Sedna, Ozone, NeoCoreXMS 2006
- Хранилища данных XML: новые практики
- Bhargava, P .; Rajamani, H .; Thaker, S .; Агарвал, А. (2005) Реляционные базы данных с поддержкой XML , Техас, Техасский университет в Остине.
- Инициатива для баз данных XML
- XML и базы данных, Рональд Бурре, сентябрь 2005 г.
- Состояние собственных баз данных XML, Эллиотт Расти Гарольд, 13 августа 2007 г.