База данных 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 в традиционной реляционной структуре:

  1. XML хранится в CLOB ( большой символьный объект )
  2. XML «разбивается» на серию таблиц на основе схемы.
  3. XML хранится в собственном XML-типе, как определено в стандарте ISO 9075-14.

РСУБД, поддерживающие тип ISO XML:

  1. IBM DB2 (pureXML)
  2. Microsoft SQL Server
  3. База данных Oracle
  4. 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, на основе двойного индексирования и взаимного суммирования.

Рекомендации

Внешние ссылки