2012-06-18 51 views
2

我正在編寫一個系統,我希望能夠將各種「作業模板」保存到某種數據存儲區。在我們的系統中,模板是包含如何進行各種數學計算的說明的域對象。如何使用交易,版本控制,歷史記錄和層次結構來堅持POJO - 使用無模式?

我想爲這些模板POJO提供一些強大的存儲 - 最好是某種共享/遠程存儲庫,以便多個系統可以訪問並可能修改這些模板。

我對NoSQL,圖形,文檔和對象數據庫的數量略微不知所措,並希望得到一些以前做過的人的指導!

在我理想的世界裏,這將是一個神奇的無模式數據存儲,因此任何Template對象都可以通過簡單的方法調用寫出來,然後再次檢索。我非常喜歡有以下特點 -

1)版本 - 這樣我就可以「覆蓋」以前的POJO,並跟蹤版本變化
2)歷史 - 這樣我就可以回去(時間機器的風格)和找回以前的版本
3)交易 - 所以一切都是一致的,防彈
4)層次 - 這樣我就可以組的POJO,並通過路徑找到他們,等

一些選項似乎包括兔崽子OCM,OrientDB,CouchDB的。還有JDO(DataNucleus)與JPA。任何人都可以分享任何見解來消除太多選擇的迷霧嗎?

回答

0

這是一個開放的問題!

我使用Jackrabbit,它滿足您的所有需求,並且非常容易啓動和運行。您可以執行XPATH查詢以及其他幾種類型的查詢。不是很好的文檔,但JCR文檔通常足以讓人滿意。還有其他的JCR實現。你可能想要考慮他們/找到基準,如果你打算推動的極限:)

+0

謝謝泰德崔平 - 對不起,這是一個廣泛的問題! – pjm56

相關問題