stringtranslate.com

XML-база данных

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

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

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

Стив О'Коннелл приводит одну причину использования 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 (чистый XML [7] )
  2. Microsoft SQL-сервер [8]
  3. База данных Oracle [9]
  4. PostgreSQL [10]

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

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

выберите id , vol , xmlquery ( '$j/name' , передав журнал как "j" ) в качестве имени из журналов , где xmlexists ( '$j[licence="CreativeCommons"]' , передав журнал как "j" )                 

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

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

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

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

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

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

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

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

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

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