Если вы работаете с данными XML, то почти нет сомнений в том, что вам следует искать базу данных Native XML.
Две из самых популярных баз данных Native XML MarkLogic server и eXist предоставляют чрезвычайно надежные и эффективные механизмы индексации, а также многие функции, упомянутые в этом списке.
На самом деле, сервер MarkLogic для многих поисковых приложений решительно выполняет базы данных SQL, особенно в больших наборах данных xml. Это связано с тем, что он создан специально для работы с XML и знает лучший способ его индексировать, что без нормализации SQL невозможно.
Исходя из текущей тенденции рынка, очевидно, что, хотя SQL не уходит, его явно теряющая рыночная доля подходит к NoSQL, особенно когда речь идет о данных, ориентированных на документы.
Подробнее ----
Большинство данных, с которыми взаимодействуют люди, являются неструктурированными и высокоуровневыми. Нормализация и ненормализация этих данных в плоскую реляционную структуру не только занимает много времени с точки зрения информационной архитектуры, но также вынуждает нас запрашивать данные неестественным образом.
Современные собственные базы данных xml позволяют легко добавлять и эффективно индексировать массовые объемы неподтвержденных (но проверенных схемой) данных.
Использование xpath для запроса этих документов является гораздо более естественным способом обхода и извлечения данных, поскольку запросы представляют собой представление структуры.
Он также легко трансформируется с помощью XQuery и XSLT.
Конечный результат - более высокий ROI для разработчиков. Вы пишете меньше кода и получаете больше. Я писал в основном в приложениях php / sql. Как только мы перевели нашу архитектуру на Native XML и XQuery, я смог заменить тысячи строк кода гораздо более простым и эффективным XQuery.
Если у вас есть бюджет (~ 250 тыс.), Проверьте сервер MarkLogic. Это одна из самых впечатляющих и масштабируемых систем баз данных, когда-либо созданных, и все это Native XML. Насколько я знаю, он поддерживает транзакции, откат и т. Д. И все другие функции, которые предоставляет SQL.
eXist (http://exist -db.org) - проект с открытым исходным кодом, который имеет:
- полная поддержка XQuery / XPath / XSLT
- эффективные механизмы индексации
- Встроенный полнотекстовый поиск
- Поддержка REST / WebDAV / SOAP / ATOM / XMLRPC
- Versioning