Мне нужно хранить очень большое количество XML-данных в памяти (скорее всего, будет использовать Oracle Coherence в качестве распределенного кеша). Ожидается, что в памяти будет храниться 100 000 XML. Эти XML довольно большие - ок. 250 КБ каждый. Эти XML-запросы запрашиваются другими системами - они запрашивают только часть XML, которая имеет к ним отношение. Кроме того, они попросят внести изменения в содержимое XML. Нагрузка составит около 300 таких запросов в минуту, распределенных более или менее равномерно между результатами поиска и обновлениями. Важно отметить, что XML не структурированы, поэтому у меня не будет XSD для них, но у меня есть алгоритм для извлечения и обновления XML.Обработка больших XML-документов в памяти
Мой вопрос в том, что даст лучшую производительность: хранение XML-данных в их памяти, а также извлечение из них данных и обновлений с помощью XQuery или даже с использованием закодированных процедур или преобразование XML-объектов в объекты , манипулировать ими в коде, а затем преобразовывать их обратно в XML, когда они запрашиваются другими системами?
Что такое «как есть» - хранится в какой-либо структуре DOM? – LarsH
«Как они есть» означает, что XML хранятся без какого-либо преобразования в двоичное или другое представление, которое может быть меньше в хранилище и/или быстрее для управления (= внести изменения). – Zottek
Трансформация от чего? меньше/быстрее чем? XML как стандарт определяется с точки зрения формата его сериализации, а не с точки зрения его представления в памяти. Будете ли вы хранить их в памяти как непроверенные строки? как деревья DOM? – LarsH