WikiDer > База данных XML
Эта статья поднимает множество проблем. Пожалуйста помоги Улучши это или обсудите эти вопросы на страница обсуждения. (Узнайте, как и когда удалить эти сообщения-шаблоны) (Узнайте, как и когда удалить этот шаблон сообщения)
|
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 г.