[JavaEE] Hibernate OGM
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上运行几百个服务时,实现管理是必须的
[JavaEE] Hibernate OGM的更多相关文章
- JavaEE Hibernate初级概念
1. Hibernate 是连接Java应用程序和关系数据库的中间件: 对JDBC API进行了封装.负责Java对象的持久化: 在三层软件架构中它位于持久层(数据访问层),封装了所有数据访问细节, ...
- [JavaEE] Hibernate ORM
一. Hibernate的简要介绍 Hibernate是轻量级Java EE应用的持久层解决方案,Hibernate不仅管理者Java类到数据库表的映射(包括Java 数据类型到SQL数据类型的映射) ...
- [JavaEE] Hibernate连接池配置测试
转载自51CTO http://developer.51cto.com/art/200906/129914.htm Hibernate支持第三方的连接池,官方推荐的连接池是C3P0,Proxool,以 ...
- [JavaEE]Hibernate 所有缓存机制详解
Hibernate提供的一级缓存 hibernate是一个线程对应一个session,一个线程可以看成一个用户.也就是说session级缓存(一级缓存)只能给一个线程用,别的线程用不了,一级缓存就是和 ...
- wildfly 10上使用最新的 Hibernate ORM OGM
ORM是关系型数据库连接:ogm是No sql数据库连接,Mongo, redis等. 1,下载ogm zip包,解压到wildfly_home\modules\system\layers\base, ...
- 玩耍Hibernate系列(一)--基础知识
Hibernate框架介绍: Hibernate ORM 主要用于持久化对象(最常用的框架) Hibernate Search 用于对对象进行搜索,底层基于Apache Lucene做的 Hib ...
- 【Hibernate那点事儿】—— Hibernate应该了解的知识
前言: 最近由于有点时间,就像深入的学习一下Hibernate.之前只是简单的使用,并没领会它的妙处.这里就趁着分享的机会,好好整理一下. 这篇主要讲到了下面几个部分: Hibernate框架 Hib ...
- Hibernate-ORM:01.Hibernate恍如隔世般初见
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 对于学过ORM框架的朋友来说,上手HibernateORM来说,既熟悉有有一点陌生,熟悉无非是灵魂相通,陌生的 ...
- java新手笔记4 数组
1.数组 import java.util.Random; public class ArrayDemo1 { public static void main(String[] args) { int ...
随机推荐
- WebBrowser的各种使用方法(未完待续)(XE8+WIN7)
相关资料: 占时想不起来了,有时间我补上吧. 程序下载: http://download.csdn.net/detail/zhujianqiangqq/9666390 实例代码: unit Unit1 ...
- C++11无限制的unions
[C++11无限制的unions] 在标准 C++ 中,并非任意的类型都能做为 union 的成员.比方说,带有 non-trivial 构造函数的类型就不能是 union 的成员.在新的标准里,移除 ...
- labview中的文件格式
- ARP防火墙绑定网关MAC地址预防ARP攻击和P2P终结者
[故障原理] 要了解故障原理,我们先来了解一下ARP协议. 在局域网中,通过ARP协议来完成IP地址转换为第二层物理地址(即MAC地址)的.ARP协议对网络安全具有重要的意义.通过伪造IP地址和M ...
- LeetCode7:Reverse Integer
Reverse digits of an integer. Example1: x = 123, return 321Example2: x = -123, return -321 click to ...
- CSS画出的各种形状图
利用CSS可以画出各种需要的图形目录[1]矩形[2]圆形[3]椭圆[4]直角三角形[5]正三角形[6]平行四边形[7]梯形[8]六角星[9]六边形[10]五角星简单图形 矩形div{ width: 1 ...
- QTbaWidget控件几个例程 【worldsing笔记】
Qt Creator自带的 QTabWidget控件几个例程 在Qt Windos版本安装后,在Example目录可以找到与QTabWidget相关的工程Demo,如果按默认安装的话他们分别是: ...
- 手把手教你玩转SOCKET模型之重叠I/O篇(上)
“身为一个初学者,时常能体味到初学者入门的艰辛,所以总是想抽空作点什么来尽我所能的帮助那些需要帮助的人.我也希望大家能把自己的所学和他人一起分享,不要去鄙视别人索取时的贪婪,因为最应该被鄙视的是不肯付 ...
- CString的GetBuffer用法,GetBuffer本质,GetBuffer常见问题解决方法
一.函数原型 CString::GetBuffer LPTSTR GetBuffer( int nMinBufLength ); throw( CMemoryException ); Return V ...
- sql server中的decimal或者numeric的精度问题
何谓精度:最多可以存储的十进制数字的总位数,包括小数点左边和右边的位数.该精度必须是从 1 到最大精度 38 之间的值.默认精度为 18. 小数位数:小数点右边可以存储的十进制数字的最大位数.小数位数 ...