Использование XML-данных в СУБД - кто-нибудь пробовал?
Как это скажется на производительности работы в целом? Кто-нибудь знает, как организована работа в СУБД, к примеру MS SQL SERVER или ORACLE 10g, с XML данными? Они ищут, разбирая DOM каждого документа или как-то еще?
В Oracle есть два способа работы: c XML-схемой и без. Без схемы данные хранятся как CLOB и разбираются (движок SAX, насколько знаю) каждый раз при обращении к ним. С зарегистрированной XML-схемой данные разбираются один раз - при вставке, после чего хранятся в разобранном виде в объектно-реляционных таблицах (Oracle создаёт их сам при регистрации схемы).
В пакетах для работы с XML реализована вся нужная функциональность, в частности, генерация ветвей и XPath. Последний исполняется напрямую, как разновидность регулярного выражения при обращении к CLOB-XML, или транслируется в объектный запрос при выборке их схемы (в настройках сервера параметр какой-то есть, отвечающий за режим перезаписи запросов - он должен быть включён).
Есть другие предложения? Если формат документов хорошо формализуем, почему бы нет?
Имеет смысл спросить на специализированном форуме по Oracle. Я только теорию разбирал, до практики не дошло дело - уволился с той работы.
Ещё лучше почитать концепции работы с XML в Oracle самостоятельно. Я справился за 3-4 дня. Сам Oracle ставить необязательно - его документации полно расшаренной в Сети. Ищется элементарно через Google.