【发布时间】:2013-09-17 13:21:59
【问题描述】:
我有问题...
我每天需要存储大约 3,000 个中型 XML 文档(100 到 200 个数据元素)。
从某种意义上说,数据有些不稳定,因为架构会不时更改,并且更改没有提前足够的通知来宣布,但需要在紧急“修补程序”的基础上进行追溯处理。
数据的消费模式涉及网站和一些简单的分析(一些平均值和饼图)。
MongoDB 似乎是一个很好的解决方案,除了一个问题;它需要在 XML 和 JSON 之间进行转换。我更愿意在 XML 文档到达时存储它们,保持原样,并将任何智能处理转移给数据的消费者。这样,数据加载代码中的任何错误都不会造成永久性损坏。消费者中的错误始终是无害的,因为您可以修复并重新运行而不会永久丢失数据。
我真的不需要“大规模并行”处理能力。大约 4GB 的数据可以轻松放入 64 位服务器。
我已经排除了 Cassandra(由于设置复杂)和 Couch DB(由于缺乏熟悉的功能,例如索引,由于我的 RDBMS 思维方式,我最初需要这些功能)。
所以最后这是我的实际问题...
是否值得寻找一个不如 MongoDB 成熟的原生 XML 数据库,还是我应该硬着头皮将所有的 XML 转换为 JSON 并使用 MongoDB?
【问题讨论】:
-
如果您只想存储文件,我不确定为什么需要 MongoDB?您需要哪些 CouchDB 无法执行的索引,尤其是当您只是将文档视为文件/附件时?
-
我将它们作为文件获取,但我不想将它们存储为文件,因为我需要以灵活的方式查询它们而无需编写代码。
-
您是否尝试过转换您的一些数据和查询?您会发现有很多方法可以做到这一点,不一定是正确的方法,而且您需要担心很多关于性能等的事情。
标签: mongodb document-database basex exist-db sedna