База данных 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 в традиционной реляционной структуре:
- XML хранится в CLOB (Большой объект персонажа )
- XML `` разбивается '' на серию таблиц на основе схемы[5]
- XML хранится в собственном XML-типе, как определено стандартом ISO 9075-14.[6]
РСУБД, поддерживающие тип ISO XML:
Обычно база данных с поддержкой 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.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 Server | Коммерческий | C ++ | Нет | Частичное | да | Проприетарный | Проприетарный | Нет | Нет | да | да | Нет |
| OpenText xDB | Коммерческий | Ява | Частичное | Частичное | да | да | да | Нет | Нет | Нет | Нет | Нет |
| Oracle Berkeley DB XML | Коммерческий | |||||||||||
| Qizx | Коммерческий | Ява | Нет | Нет | да | да | да | Нет | Нет | да | Нет | Нет |
| Седна | Лицензия Apache 2.0 |
Поддерживаемые API
| Имя | XQJ | XML: БД | RESTful | RESTXQ | WebDAV |
|---|---|---|---|---|---|
| BaseX | да | да | да | да | да |
| существовать | да | да | да | да | да |
| MarkLogic Server | да | Нет | да | да | да |
| Qizx | Нет | Нет | да | Нет | Нет |
| Седна | да | да | Нет | Нет | Нет |
Наборы данных XML, ориентированные на данные
Для наборов данных XML, ориентированных на данные, уникальный и отличный метод поиска по ключевым словам, а именно XDMA[13] для баз данных XML спроектирован и разработан на основе двойного индексирования и взаимного суммирования.
Рекомендации
- ^ Никола, Матиас (28 сентября 2010 г.). «5 причин для хранения XML в базе данных». Собственная база данных XML. Получено 17 марта 2015.
- ^ Фельдман, Дэймон (11 апреля 2013 г.). Переход от реляционного моделирования к моделям данных XML и MarkLogic. MarkLogic World. Получено 17 марта 2015.
- ^ [NoSQL Distilled: Краткое руководство по развивающемуся миру стойкости полиглотов. Эддисон-Уэсли Эдьюкейшнл Паблишерс Инк, 2009 г.] ISBN 978-0321826626
- ^ О'Коннелл, Стив (2005). Раздел 9.2. Примечания к курсу расширенных баз данных (Учебный план). Саутгемптон, Англия: Саутгемптонский университет.
- ^ «Хранение 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. Корпорация Майкрософт. Получено 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. Дои:10.1142 / s0218194014500223.
внешняя ссылка
- Рейтинг собственных XML СУБД по популярности, обновляется ежемесячно, от DB-двигатели
- Базы данных 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 г.