我的问题是什么会产生更好的性能:将XML保持在内存中,并使用XQuery或甚至使用编码过程从它们和更新中提取所有数据,或者将XML转换为对象,在其中操作它们代码,然后在其他系统请求时将它们转换回XML?
解决方法
所以,如果你有足够的可用内存,这当然是最好的举办地点.但是你需要有一个回退策略(如果节点的数量超出内存会发生什么?)如果你不想丢失更新它会变得更加复杂:如果机器崩溃会怎么样?如果更新内存:何时刷新磁盘更新?还有更多的事情要考虑.
然而,要回答你的第二个问题:转换成对象与否?大多数人都倾向于使用PHP,ruby,Java,“.NET”等将XML转换为对象,甚至将XML存储在sql数据库中.如果你想听到一个诚实的答案:如果你没有足够的时间和金钱浪费,不要这样做.对象引入了额外需要的分析,设计,解析,编组,测试,维护的大量开销……事实上,这完全消除了XML的灵活性,我看到这种情况经常被低估.根据我使用XML和XQuery的经验,我为上面列出的内容平均节省了大约80%.
此外,如果您将灵活的XML数据强制转换为对象,那么如果您的数据结构发生变化,您将面临噩梦.
您可能想要查看28msec’s Scalable Database for flexible data这是云中的PAAS.在那里,您可以获得开箱即用的所有功能(包括负载均衡,自动恢复,持久性管理,复制,备份,自动故障转移,扩展和扩展,弹性,内存管理,分片……).
这只是我个人的意见,但它可能至少为您的问题解决方案提供了更多方面.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。