码迷,mamicode.com
首页 > 编程语言 > 详细

[JavaEE] Hibernate OGM

时间:2014-09-02 14:00:24      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:os   io   使用   java   ar   文件   数据   art   sp   

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、支持复杂的关联和聚合 <

In?nispan 是个开源的数据网格平台。它公开了一个简单的数据结构(一个Cache)来存储对象。虽然可以在本地模式下运行In?nspan,但其真正的价值在于分布 式,在这种模式下,In?nispan可以将集群缓存起来并公开大容量的堆内存。这可比简单的复制强大的多,因为它会为每个结点分配固定数量的副本——服 务器故障的一种恢复手段——同时还提升了可伸缩性,这是由于存储每个结点所需的工作量是与集群大小息息相关的。

In?nispan提供了一种简单的机制来利用大容量的堆内存。如果对每个结点维护一个拷贝,假如集群当中有100个结点,每个结点分配2GB的堆内存, 那么网格中的任何实例都能使用多达100GB的空间,这可都是内存,显然速度会非常快。同时In?nispan还兼容于JTA,这样它就能很好地处理事务 了。我们还有一个超级强大的异步API,它可以保证同步的网络调用以及异步调用的并行性及可伸缩性。比方说:Future f = cache.putAsync(k, v) 可以阻塞线程,再调用f.get()可以让网络调用继续进行或是忽略掉f。更为重要的是,线程还可以做别的事情,这一点非常有用。然后再回来通过调用 f.get()来检查该网络调用是否能继续进行。可以将其看作是NIO与传统的阻塞性IO之间的关系。

In?nispan公开了一个CacheStore接口和几个高性能的实现,包括JDBC CacheStores、基于文件系统的CacheStores以及Amazon S3 CacheStores等等。CacheStores可用作“温启动(warm starts)”或是确保网格中的数据在重启后依然可用,同时在内存耗尽时还能将数据写到磁盘上。

主要特点:

  • 大量的堆体
  • 极高的可扩展性
  • 快速轻量级核心
  • 不仅仅支持Java(PHP,Python,Ruby,C…)
  • 支持Compute Grids
  • 管理是关键:当你在grid上运行几百个服务时,实现管理是必须的

[JavaEE] Hibernate OGM

标签:os   io   使用   java   ar   文件   数据   art   sp   

原文地址:http://www.cnblogs.com/jqmtony/p/3951264.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!