XML-база данных
![]() | Эту статью необходимо обновить . ( март 2015 г. ) |
База данных 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 в традиционной реляционной структуре:
- XML хранится в CLOB ( большом символьном объекте ).
- XML «разбивается» на серию таблиц на основе схемы. [ 5 ]
- XML хранится в собственном типе XML, как определено стандартом ISO 9075-14. [ 6 ]
СУБД, поддерживающие тип ISO XML:
Обычно база данных с поддержкой 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 для хранения и выполнения запросов используются специально оптимизированные структуры данных. Обычно это повышает производительность как с точки зрения запросов только для чтения, так и обновлений. [ 11 ] Узлы и документы XML являются фундаментальной единицей (логического) хранилища, точно так же, как реляционная база данных имеет поля и строки.
Стандартом запроса XML-данных согласно рекомендации W3C является XQuery ; последняя версия — XQuery 3.1. [ 12 ] XQuery включает XPath в качестве подязыка, а XML сам по себе является допустимым подсинтаксисом XQuery. Помимо XPath, некоторые базы данных XML поддерживают XSLT как метод преобразования документов или результатов запросов, полученных из базы данных.
Особенности языка
[ редактировать ]Имя | Лицензия | Родной язык | XQuery 3.1 | XQuery 3.0 | XQuery 1.0 | Обновление XQuery | Полный текст XQuery | Расширения EXPath | Расширения EXQuery | XSLT 2.0 | Xформы 1.1 | XPoc 1.0 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
БазаX | БСД | Ява | Да | Да | Да | Да | Да | Да | Да | Да | Да | Нет |
существовать | ГНУ ЛГПЛ | Ява | Частичный | Частичный | Да | Собственный | Собственный | Да | Да | Да | Да | Да |
МаркЛогик Сервер | Коммерческий | С++ | Нет | Частичный | Да | Собственный | Собственный | Нет | Нет | Да | Да | Нет |
OpenText xDB | Коммерческий | Ява | Частичный | Частичный | Да | Да | Да | Нет | Нет | Нет | Нет | Нет |
Oracle Berkeley DB XML | Коммерческий | С/С++ | ||||||||||
Девочка | Коммерческий | Ява | Нет | Нет | Да | Да | Да | Нет | Нет | Да | Нет | Нет |
Седна | Лицензия Апач 2.0 | С/С++ |
Поддерживаемые API
[ редактировать ]Имя | XQJ | XML:БД | RESTful | RESTXQ | ВебДАВ |
---|---|---|---|---|---|
БазаX | Да | Да | Да | Да | Да |
существовать | Да | Да | Да | Да | Да |
МаркЛогик Сервер | Да | Нет | Да | Да | Да |
Девочка | Нет | Нет | Да | Нет | Нет |
Седна | Да | Да | Нет | Нет | Нет |
Ориентированные на данные наборы данных XML
[ редактировать ]Для наборов данных XML, ориентированных на данные, используется уникальный и особый метод поиска по ключевым словам, а именно XDMA. [ 13 ] для баз данных XML спроектирован и разработан на основе двойной индексации и взаимного суммирования.
Ссылки
[ редактировать ]- ^ Никола, Матиас (28 сентября 2010 г.). «5 причин хранить XML в базе данных» . Собственная база данных XML . Проверено 17 марта 2015 г.
- ^ Фельдман, Дэймон (11 апреля 2013 г.). Переход от реляционного моделирования к моделям данных XML и MarkLogic . МаркЛогик Мир . Проверено 17 марта 2015 г.
- ^ [Дистиллированный NoSQL: краткое руководство по развивающемуся миру многоязычной устойчивости. Addison-Wesley Educational Publishers Inc, 2009 г.] ISBN 978-0321826626
- ^ О'Коннелл, Стив (2005). Раздел 9.2. Примечания к курсу продвинутых баз данных (учебная программа). Саутгемптон, Англия: Университет Саутгемптона .
- ^ «Хранение и запросы XML-схем: основы» . Руководство разработчика Oracle XML DB, 10 г, выпуск 2 . Корпорация Оракл. Август 2005 года . Проверено 17 марта 2015 г. . Раздел Создание таблиц и столбцов XMLType на основе схемы XML
- ^ «ISO/IEC 9075-14:2011: Информационные технологии. Языки баз данных. SQL. Часть 14. Спецификации, связанные с XML (SQL/XML)» . Международная организация по стандартизации . 2011 . Проверено 17 марта 2015 г.
- ^ «Обзор pureXML — DB2 как база данных XML» . Центр знаний IBM . ИБМ . Проверено 17 марта 2015 г.
- ^ «Использование XML в SQL Server» . Сеть разработчиков Microsoft . Корпорация Майкрософт . Проверено 17 марта 2015 г.
- ^ «Операции XMLType» . Руководство разработчика Oracle XML DB, 10 г, выпуск 2 . Корпорация Оракл. Август 2005 года . Проверено 17 марта 2015 г.
- ^ «8.13. Тип XML» . Документация PostgreSQL 9.6 . Проверено 1 апреля 2017 г.
- ^ Матиас, Никола (22 августа 2010 г.). «XML и производительность реляционных баз данных» . Собственная база данных XML . Проверено 28 июня 2017 г.
- ^ «Рекомендация XQuery 3.1» . 21 марта 2017 г.
- ^ Сельваганесан, С.; Хау, Су-Чэн; Скоро, Лай-Ки (2014). «XDMA: алгоритм поиска ключевых слов на основе двойного индексирования и взаимного суммирования для баз данных XML». Международный журнал программной инженерии и инженерии знаний . 24 (4): 591–615. дои : 10.1142/s0218194014500223 .
Внешние ссылки
[ редактировать ]- Рейтинг нативных XML-СУБД по популярности, обновляемый ежемесячно, по версии DB-Engines.
- Базы данных XML — Бизнес-кейс, Чарльз Фостер, июнь 2008 г. (неработающая ссылка) — рассказывает о текущем состоянии баз данных и устойчивости данных, о том, как текущая модель реляционных баз данных начинает трещать по швам, и дает представление о сильной альтернативе для сегодняшние требования.
- База данных молекулярных путей на основе XML (2005-06-02) Сравнение скорости и производительности eXist, X-Hive, Sedna и Qizx/open
- Собственные системы баз данных XML: обзор Sedna, Ozone, NeoCoreXMS 2006
- Хранилища XML-данных: новые практики
- Бхаргава, П.; Раджамани, Х.; Такер, С.; Агарвал, А. (2005) Реляционные базы данных с поддержкой XML , Техас, Техасский университет в Остине.
- Инициатива по базам данных XML
- XML и базы данных, Рональд Бурре, сентябрь 2005 г.
- Состояние собственных баз данных XML, Эллиотт Расти Гарольд, 13 августа 2007 г.