Hibernate Object/Grid Mapper (OGM)這個項目能夠為NoSQL數據庫提供Java Persistence(JPA)支持。它復用了Hibernate Core引擎將實體持久化至NoSQL數據存儲中,而不是關系型數據庫中。它還復用了Java Persistence Query Language(JP-QL)來搜索數據。這個項目現在還處于初期階段,但隨著時間的推移它的功能將逐漸增強。

短期目標是:

 1、支持Infinispan (已實現)
 2、支持Hibernate Search全文搜索(已實現)
 3、支持簡單JP-QL查詢 

中期目標是:

 1、支持其它key/value存儲
 2、支持其它NoSQL數據庫
 3、支持復雜的關聯和聚合 <

Infinispan 是個開源的數據網格平臺。它公開了一個簡單的數據結構(一個Cache)來存儲對象。雖然可以在本地模式下運行Infinspan,但其真正的價值在于分布 式,在這種模式下,Infinispan可以將集群緩存起來并公開大容量的堆內存。這可比簡單的復制強大的多,因為它會為每個結點分配固定數量的副本——服 務器故障的一種恢復手段——同時還提升了可伸縮性,這是由于存儲每個結點所需的工作量是與集群大小息息相關的。

Infinispan提供了一種簡單的機制來利用大容量的堆內存。如果對每個結點維護一個拷貝,假如集群當中有100個結點,每個結點分配2GB的堆內存, 那么網格中的任何實例都能使用多達100GB的空間,這可都是內存,顯然速度會非常快。同時Infinispan還兼容于JTA,這樣它就能很好地處理事務 了。我們還有一個超級強大的異步API,它可以保證同步的網絡調用以及異步調用的并行性及可伸縮性。比方說:Future f = cache.putAsync(k, v) 可以阻塞線程,再調用f.get()可以讓網絡調用繼續進行或是忽略掉f。更為重要的是,線程還可以做別的事情,這一點非常有用。然后再回來通過調用 f.get()來檢查該網絡調用是否能繼續進行。可以將其看作是NIO與傳統的阻塞性IO之間的關系。

Infinispan公開了一個CacheStore接口和幾個高性能的實現,包括JDBC CacheStores、基于文件系統的CacheStores以及Amazon S3 CacheStores等等。CacheStores可用作“溫啟動(warm starts)”或是確保網格中的數據在重啟后依然可用,同時在內存耗盡時還能將數據寫到磁盤上。

主要特點:

  • 大量的堆體

  • 極高的可擴展性

  • 快速輕量級核心

  • 不僅僅支持Java(PHP,Python,Ruby,C…)

  • 支持Compute Grids

  • 管理是關鍵:當你在grid上運行幾百個服務時,實現管理是必須的
  • </UL>

    <DIV class=date>收錄時間:2011-06-22 08:42:21</DIV>

 本文由用戶 碼頭工人自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!