2013-02-25 24 views
4

作爲Infinispan的新手,我正在探索Infinispan 5.1.5既可以用於分佈式緩存也可以用於數據存儲。Infinispan持久性沒有任何數據庫?

所以,這個想法是不是有一個單獨的數據存儲即,數據庫,而是僅使用「Infinispan緩存存儲」來將應用程序數據保存到磁盤文件中。

申請資料應包括但不限於事件的歷史數據,流等

我能活下去,只有Infinispan的數據持久性和不數據庫?是否有任何限制w.r.在Infinispan上進行數據量,檢索,排序等?

任何輸入會有很大的幫助?

回答

4

你可以這樣做,但要準備好管理序列化格式的變化。如果你自己的類定義改變了(假設你存儲Java對象),你必須定義自定義的* Externalizer *,它知道如何處理類的變化,或者你必須轉儲數據並在升級後恢復它。此外,如果您需要升級Infinispan本身,則可能需要轉儲數據並恢復或查看rolling upgrades,該目前需要Hot Rod客戶端並至少使用版本5.2。

它能夠通過Infinispan查詢進行排序,但請記住,您沒有加入或類似操作:適用於某些問題集合,不適用於所有問題。另外Infinispan查詢使查詢方面相當強大,但是在更新索引的寫操作時性能會受到影響:如果您可以重新認爲您的模型只與put/get操作一起工作,則它的運行速度會更快。

你可以看看Hibernate OGM來映射Infinispan中的結構化實體,包括關係,只使用put/get操作。這被認爲是最實用的接口,因爲它使用了衆所周知的JPA映射,並且可以通過Hibernate Search來使用查詢(儘管它們與Infinispan Query的限制非常類似,因爲它們使用基於Lucene的相同索引技術) 。