База данных XML - XML database

An База данных XML это сохранение данных программная система, позволяющая указывать, а иногда и сохранять данные в XML формат. Эти данные могут быть запрошенный, преобразованный, экспортированный и возвращенный в вызывающую систему. XML-базы данных - это разновидность документно-ориентированные базы данных которые, в свою очередь, относятся к категории NoSQL база данных.

Обоснование использования XML в базах данных

Существует ряд причин для прямого указания данных в XML или других форматах документов, таких как JSON. В частности, для XML они включают:[1][2]

  • На предприятии может быть много XML в существующем стандартном формате.
  • Данные могут быть представлены или загружены как XML, поэтому использование другого формата, такого как реляционные силы, двойное моделирование данных
  • XML очень хорошо подходит для разреженных данных, глубоко вложенных данных и смешанного содержимого (например, текста со встроенными тегами разметки)
  • XML удобочитаем, тогда как реляционные таблицы требуют опыта для доступа
  • Метаданные часто доступен как XML
  • Семантические веб-данные доступны как RDF / XML
  • Предлагает решение для Несоответствие объектно-реляционного импеданса[3]

Стив О'Коннелл приводит одну причину использования XML в базах данных: все более распространенное использование XML для передача данных, что означало, что «данные извлекаются из баз данных и помещаются в документы XML и наоборот».[4][нуждается в обновлении ] Может оказаться более эффективным (с точки зрения затрат на преобразование) и проще хранить данные в формате XML. В приложениях, основанных на содержании, возможность собственной базы данных XML также сводит к минимуму необходимость извлечения или ввода метаданных для поддержки поиска и навигации.

Базы данных с поддержкой XML

Базы данных с поддержкой XML обычно предлагают один или несколько из следующих подходов к хранению XML в традиционной реляционной структуре:

  1. XML хранится в CLOB (Большой объект персонажа )
  2. XML `` разбивается '' на серию таблиц на основе схемы[5]
  3. XML хранится в собственном XML-типе, как определено стандартом ISO 9075-14.[6]

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

  1. IBM DB2 (pureXML[7])
  2. Microsoft SQL Server[8]
  3. База данных Oracle[9]
  4. PostgreSQL[10]

Обычно база данных с поддержкой XML лучше всего подходит для случаев, когда большинство данных не являются XML. Для наборов данных, в которых большинство данных представляют собой XML, собственная база данных XML лучше подходит.

Пример запроса типа XML в IBM DB2 SQL

Выбрать   я бы, объем, xmlquery('$ j / имя', прохождение журнал в качестве "j") в качестве имяиз   журналыкуда    xmlexists('$ j [лицензия = "CreativeCommons"]', прохождение журнал в качестве "j")

Собственные базы данных XML

Собственные базы данных XML специально предназначены для работы с данными XML. Поскольку управление XML как большими строками было бы неэффективным, и из-за иерархической природы XML для хранения и запросов используются настраиваемые оптимизированные структуры данных. Обычно это увеличивает производительность как с точки зрения запросов только для чтения, так и с точки зрения обновлений.[11] XML-узлы и документы являются фундаментальной единицей (логической) памяти, как и реляционная база данных есть поля и строки.

Стандарт для запроса данных XML согласно рекомендации W3C: XQuery; последняя версия - XQuery 3.1.[12] XQuery включает XPath как подъязык, а сам XML является допустимым под-синтаксисом XQuery. В отличие от баз данных с поддержкой XML, собственные базы данных обеспечивают полную поддержку XQuery. Помимо XPath, некоторые базы данных XML поддерживают XSLT как метод преобразования документов или результатов запросов, полученных из базы данных.

Особенности языка

ИмяЛицензияРодной языкXQuery 3.1XQuery 3.0XQuery 1.0Обновление XQueryПолный текст XQueryРасширения EXPathРасширения EXQueryXSLT 2.0XForms 1.1XProc 1.0
BaseXBSDЯвадададададададададаНет
существоватьGNU LGPLЯваЧастичноеЧастичноедаПроприетарныйПроприетарныйдадададада
MarkLogic ServerКоммерческийC ++НетЧастичноедаПроприетарныйПроприетарныйНетНетдадаНет
OpenText xDBКоммерческийЯваЧастичноеЧастичноедададаНетНетНетНетНет
Oracle Berkeley DB XMLКоммерческий
QizxКоммерческийЯваНетНетдададаНетНетдаНетНет
СеднаЛицензия Apache 2.0

Поддерживаемые API

ИмяXQJXML: БДRESTfulRESTXQWebDAV
BaseXдадададада
существоватьдадададада
MarkLogic ServerдаНетдадада
QizxНетНетдаНетНет
СеднададаНетНетНет

Наборы данных XML, ориентированные на данные

Для наборов данных XML, ориентированных на данные, уникальный и отличный метод поиска по ключевым словам, а именно XDMA[13] для баз данных XML спроектирован и разработан на основе двойного индексирования и взаимного суммирования.

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

  1. ^ Никола, Матиас (28 сентября 2010 г.). «5 причин для хранения XML в базе данных». Собственная база данных XML. Получено 17 марта 2015.
  2. ^ Фельдман, Дэймон (11 апреля 2013 г.). Переход от реляционного моделирования к моделям данных XML и MarkLogic. MarkLogic World. Получено 17 марта 2015.
  3. ^ [NoSQL Distilled: Краткое руководство по развивающемуся миру стойкости полиглотов. Эддисон-Уэсли Эдьюкейшнл Паблишерс Инк, 2009 г.] ISBN  978-0321826626
  4. ^ О'Коннелл, Стив (2005). Раздел 9.2. Примечания к курсу расширенных баз данных (Учебный план). Саутгемптон, Англия: Саутгемптонский университет.
  5. ^ «Хранение XML-схемы и запрос: базовый». Руководство разработчика Oracle XML DB, 10грамм Выпуск 2. Корпорация Oracle. Август 2005 г.. Получено 17 марта 2015.. Раздел Создание таблиц и столбцов XMLType на основе схемы XML
  6. ^ «ISO / IEC 9075-14: 2011: Информационные технологии - Языки баз данных - SQL - Часть 14: Спецификации, связанные с XML (SQL / XML)». Международная организация по стандартизации. 2011. Получено 17 марта 2015.
  7. ^ "Обзор pureXML - DB2 как база данных XML". Центр знаний IBM. IBM. Получено 17 марта 2015.
  8. ^ «Использование XML в SQL Server». Сеть разработчиков Microsoft. Корпорация Майкрософт. Получено 17 марта 2015.
  9. ^ «Операции XMLType». Руководство разработчика Oracle XML DB, 10грамм Выпуск 2. Корпорация Oracle. Август 2005 г.. Получено 17 марта 2015.
  10. ^ «8.13. Тип XML». Документация PostgreSQL 9.6. Получено 1 апреля 2017.
  11. ^ Матиас, Никола (22 августа 2010 г.). «XML против производительности реляционной базы данных». Собственная база данных XML. Получено 28 июн 2017.
  12. ^ «Рекомендация XQuery 3.1». 2017-03-21.
  13. ^ Selvaganesan, S .; Ха, Су-Ченг; Вскоре Lay-Ki (2014). «XDMA: алгоритм поиска по ключевым словам на основе двойного индексирования и взаимного суммирования для баз данных XML». Международный журнал программной инженерии и инженерии знаний. 24 (4): 591–615. Дои:10.1142 / s0218194014500223.

внешняя ссылка