我正在编写一个系统,我希望能够将各种“作业模板”保存到某种数据存储中。在我们的系统中,模板是包含如何进行各种数学计算的描述的域对象。
我想为这些模板 POJO 提供某种强大的存储 - 最好是某种共享/远程存储库,以便多个系统可以访问并可能修改模板。
我对 NoSQL、图形、文档和对象数据库的数量有点不知所措,并希望从以前做过这方面的人那里得到一些指导!
在我的理想世界中,这将是一个神奇的无模式数据存储,因此任何 Template 对象都可以通过简单的方法调用写入其中,然后稍后再次检索。理想情况下,我希望具有以下功能-
1) 版本控制 - 这样我可以“覆盖”以前的 POJO,并跟踪版本更改
2) 历史 - 这样我可以返回(时间机器样式)并检索以前的版本
3) 事务 - 所以一切都是一致的和防弹的
4) 层次结构- 所以我可以对 POJO 进行分组,并通过路径等找到它们
一些选项似乎包括 Jackrabbit OCM、OrientDB、CouchDB。还有 JDO (DataNucleus) vs JPA。任何人都可以分享任何见解来消除太多选择的迷雾吗?