我需要在内存中保存大量 XML(很可能会使用 Oracle Coherence 作为分布式缓存)。期望在内存中保存 100,000 个 XML。这些 XML 相当大 - 大约。每个 250KB。这些 XML 是由其他系统请求的——它们只请求与它们相关的部分 XML。此外,他们会要求更改 XML 的内容。负载将约为每分钟 300 个此类请求,在检索和更新之间或多或少均匀分布。一个重要的注意事项是 XML 不是结构化的,因此我不会为它们提供 XSD,但我确实有提取和更新 XML 的算法。
我的问题是什么会产生更好的性能:将 XML 原样保存在内存中,并通过使用 XQuery 甚至使用编码过程从它们中提取所有数据并进行更新,或者将 XML 转换为对象,在代码,然后在其他系统请求它们时将它们转换回 XML?