我正在编写一个系统,我希望能够将各种“作业模板”保存到某种数据存储区。在我们的系统中,模板是域对象,其中包含如何进行各种数学计算的描述。
我希望为这些模板POJO提供某种强大的存储 - 最好是某种共享/远程存储库,以便多个系统可以访问并可能修改模板。
我对NoSQL,图形,文档和对象数据库的数量感到有些不知所措,并且希望能够从之前完成此操作的人那里得到一些指导!
在我的理想世界中,这将是一个神奇的无架构数据存储区,因此可以使用简单的方法调用将任何Template对象写入其中,然后再次检索。理想情况下,我希望拥有以下功能 -
1)版本控制 - 所以我可以“覆盖”以前的POJO,并跟踪版本更改
2)历史 - 所以我可以回去(时间机器风格)并检索先前的版本
3)交易 - 所以一切都是一致的和防弹的
4)层次结构 - 所以我可以对POJO进行分组,并通过路径等找到它们
一些选项似乎包括Jackrabbit OCM,OrientDB,CouchDB。还有JDO(DataNucleus)和JPA。任何人都可以分享任何见解,以消除太多选择的迷雾吗?
答案 0 :(得分:0)
多么开放的问题!
我使用Jackrabbit,它可以满足您的所有需求,并且非常容易启动和运行。您可以执行XPATH查询以及其他几种类型。文档不是很好,但JCR文档通常足以让你顺利通过。还有其他JCR实现。如果你打算推动限制,你可能想要考虑它们/找到基准:)