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 (pureXML [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. MarkLogic World . Получено 17 марта 2015 г.
  3. ^ [NoSQL Distilled: Краткое руководство по формирующемуся миру полиглотической настойчивости. Addison-Wesley Educational Publishers Inc, 2009] ISBN 978-0321826626 
  4. ^ О'Коннелл, Стив (2005). Раздел 9.2. Заметки по курсу «Продвинутые базы данных» (программа курса). Саутгемптон, Англия: Университет Саутгемптона .
  5. ^ "XML Schema Storage and Query: Basic". Oracle XML DB Developer's Guide, 10 g Release 2. Oracle Corporation. Август 2005 г. Получено 17 марта 2015 г.Раздел Создание таблиц и столбцов XMLType на основе XML-схемы
  6. ^ "ISO/IEC 9075-14:2011: Информационные технологии — Языки баз данных — SQL — Часть 14: Спецификации, связанные с XML (SQL/XML)". Международная организация по стандартизации . 2011. Получено 17 марта 2015 г.
  7. ^ "Обзор pureXML — DB2 как база данных XML". IBM Knowledge Center . IBM . Получено 17 марта 2015 г. .
  8. ^ "Использование XML в SQL Server". Microsoft Developer Network . Microsoft Corporation . Получено 17 марта 2015 г.
  9. ^ "XMLType Operations". Oracle XML DB Developer's Guide, 10 g Release 2. Oracle Corporation. Август 2005 г. Получено 17 марта 2015 г.
  10. ^ "8.13. XML Type". Документация PostgreSQL 9.6 . Получено 1 апреля 2017 г.
  11. ^ Маттиас, Никола (22 августа 2010 г.). "XML против производительности реляционной базы данных". Собственная база данных XML . Получено 28 июня 2017 г.
  12. ^ "Рекомендация XQuery 3.1". 2017-03-21.
  13. ^ Selvaganesan, S.; Haw, Su-Cheng; Soon, Lay-Ki (2014). "XDMA: алгоритм поиска ключевых слов на основе двойного индексирования и взаимного суммирования для баз данных XML". Международный журнал по программной инженерии и инженерии знаний . 24 (4): 591–615. doi :10.1142/s0218194014500223.

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