Эта статья поднимает множество проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалить эти сообщения-шаблоны ) ( Узнайте, как и когда удалить этот шаблон сообщения )
|
База данных 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 [ править ]
выберите id , vol , xmlquery ( '$ j / name' , передав журнал как "j" ) в качестве имени из журналов, где xmlexists ( '$ j [license = "CreativeCommons"]' , передав журнал как "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 | 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 [13] для баз данных XML, на основе двойного индексирования и взаимного суммирования.
Ссылки [ править ]
- ↑ Никола, Матиас (28 сентября 2010 г.). «5 причин для хранения XML в базе данных» . Собственная база данных XML . Проверено 17 марта 2015 года .
- Перейти ↑ Feldman, Damon (11 апреля 2013 г.). Переход от реляционного моделирования к моделям данных XML и MarkLogic . MarkLogic World . Проверено 17 марта 2015 года .
- ^ [NoSQL Distilled: Краткое руководство по развивающемуся миру стойкости полиглотов. Эддисон-Уэсли Образовательные Издатели, 2009] ISBN 978-0321826626
- ↑ О'Коннелл, Стив (2005). Раздел 9.2. Примечания к курсу расширенных баз данных (Syllabus). Саутгемптон, Англия: Саутгемптонский университет .
- ^ «Хранение XML-схемы и запрос: Базовый» . Руководство разработчика Oracle XML DB, 10 г, выпуск 2 . Корпорация Oracle. Август 2005 . Проверено 17 марта 2015 года .. Раздел Создание таблиц и столбцов XMLType на основе схемы XML
- ^ «ISO / IEC 9075-14: 2011: Информационные технологии - Языки баз данных - SQL - Часть 14: Спецификации, связанные с XML (SQL / XML)» . Международная организация по стандартизации . 2011 . Проверено 17 марта 2015 года .
- ^ "Обзор pureXML - DB2 как база данных XML" . Центр знаний IBM . IBM . Проверено 17 марта 2015 года .
- ^ «Использование XML в SQL Server» . Сеть разработчиков Microsoft . Корпорация Microsoft . Проверено 17 марта 2015 года .
- ^ «Операции XMLType» . Руководство разработчика Oracle XML DB, 10 г, выпуск 2 . Корпорация Oracle. Август 2005 . Проверено 17 марта 2015 года .
- ^ «8.13. Тип XML» . Документация по PostgreSQL 9.6 . Проверено 1 апреля 2017 года .
- ↑ Матиас, Никола (22 августа 2010 г.). «XML против производительности реляционной базы данных» . Собственная база данных XML . Проверено 28 июн 2017 .
- ^ «Рекомендация XQuery 3.1» . 2017-03-21.
- ^ Selvaganesan, S .; Ха, Су-Ченг; Вскоре Lay-Ki (2014). «XDMA: алгоритм поиска по ключевым словам на основе двойного индексирования и взаимного суммирования для баз данных XML». Международный журнал программной инженерии и инженерии знаний . 24 (4): 591–615. DOI : 10.1142 / s0218194014500223 .
Внешние ссылки [ править ]
- Рейтинг собственных XML-СУБД по популярности, обновляемый ежемесячно, от DB-Engines
- Базы данных XML - экономическое обоснование, Чарльз Фостер, июнь 2008 г. - рассказывает о текущем состоянии баз данных и сохранении данных, о том, как текущая модель реляционной базы данных начинает трещать по швам, и дает представление о сильной альтернативе сегодняшним требованиям.
- База данных молекулярных путей на основе XML (2005-06-02) Сравнение скорости / производительности eXist, X-Hive, Sedna и Qizx / open
- Системы баз данных XML Native: Обзор Sedna, Ozone, NeoCoreXMS 2006
- Хранилища данных XML: новые практики
- Bhargava, P .; Rajamani, H .; Thaker, S .; Агарвал, А. (2005) Реляционные базы данных с поддержкой XML , Техас, Техасский университет в Остине.
- Инициатива для баз данных XML
- XML и базы данных, Рональд Бурре, сентябрь 2005 г.
- Состояние собственных баз данных XML, Эллиотт Расти Гарольд, 13 августа 2007 г.