JSR-347也称为针对Java平台的数据网格,人人倡议JSR-347能一致API、编程模子,散布式的预期举动,另有容错的内存键值存储。它在良多方面都和JSR-107(针对Java平台的一时缓存)有所分歧:
- 数据耐久性。JSR-347想借助它固有的散布式特征纪录存储,从而供应历久性。JSR-107则假定存储起来的数据是一时而长久的。
- 散布式。JSR-107同意完成能够是散布的,JSR-347则请求完成必需散布。因而,尺度能够为用户供应更丰厚的API,以便用户更好天时用数据存储。好比说,只要晓得完成是散布式的时分,表露那些能把持数据在网格里存储地位的API,异步和非堵塞的API,另有那些终极撑持相容完成的API才成心义。
- Map/Reduce和散布式的代码实行。当数据跨网格散布的时分,把代码移到数据中实行偶然候要比其他体例更成心义。JSR-347也会为这些功效供应尺度的API。
到今朝为止,专家组包含RedHat、Gigaspaces和GridGain。Oracle和IBM经由过程功令审批后才会正式签订协定,不外他们都暗示有乐趣。
JBossCache是我们搭建JBoss使用服务器集群的工具包。我们用它来完成HTTP和EJB会话的集群,另有一个具有事件特征的Hibernate/JPA二级缓存。
这很难说。JBoss使用服务器和Infinispan都是开源项目,我们已明白辨别了社区所作的事变,另有他们如何和Infinispan交互。假如用户论坛和IRC上的成绩能作为根据,我看年夜部分人的成绩是怎样在JBoss使用服务上部署的Web使用或EJB里间接利用Infinispan的API。不外发问的也只要这些人。
我的回覆天然有些客观,但我以为数据网格必要供应事件、读取、写进、某些情势的分片或分区,另有监听器。查询和Map/Reduce是更初级的功效,不外人人很快就会希冀数据网格能具有这两个功效,以是我们以为它们也该增加到功效列内外。
在处置跨大批服务器的散布式数据时,Map/Reduce自己就是个很主要的观点,由于它有更高的CPU和内核使用率,同时能削减收集流量。
Infinispan的Map/Reduce在观点上和Google最后的观点十分靠近,但在完成上,我们遵守流利API、人类易读和直不雅接口的准绳,另有古代JavaAPI计划的通用最好理论。因而,和Hadoop等其他JavaMap/Reduce完成分歧,我们以为Infinispan的完成要更加直不雅、对开辟职员加倍友爱。
不会。参考完成必要Apache的允许,而Infinispan则利用了LGPL允许。
我们撑持Memcached的Wire协定,最后是想让非Java平台承受我们。Memcached有十分多的客户端库,几近针对一切的平台。撑持Memcached的Wire协定就意味着差未几一切体系都能利用Infinispan。
随后我们计划并完成了HotRod,用它来交换Memcached的Wire协定,编写完这个“可参考的”Java客户端后,我们就发明社区为Python和Ruby构建了HotRod客户端。
方才说起的产物已撑持了为JSR-347计划的年夜部分功效。次要区分在于特定API自己。固然这其实不周全,有些产物大概不具有某些功效,好比Map/Reduce,但他们大概有能增加缺掉功效的组件。
JSR-347是个尺度。它不是个NoSQL尺度,只是个数据网格尺度。Infinispan会完成JSR-347,以是它只是个数据网格,不外Infinispan也在不休开展,会增加更多NoSQL的特征。照今朝的情形看,NoSQL和数据网格之间的差异很小;Infinispan只是进一步往减少这类差异。
最年夜的区分在于平台自力性。JSR-347仍旧是个Java标准,而良多NoSQL数据库则超出了Java平台。
这必要专家组往决意。
我以为对象缓存是把对象临时存储在内存里,检索或盘算会很费力。数据网格把这类做法深切了一步,借助其有弹性、散布式的特征,数据网格供应了必定水平的历久性。NoSQL则接纳了另外一种做法,NoSQL一般用磁盘存储作为次要的存储引擎,但供应了弹性和可伸缩性,最少在散布式NoSQL引擎的情形下是如许的。
在我看来,最主要的特征是可伸缩的弹性。不然的话,你还不如利用RDBMS,究竟你早熟习了它的安装和利用。
我不晓得专利产物外部是怎样计划的。
可插拔和可扩大性是关头。我们希冀人们能用Infinispan往做任何事变,而不单单成为按我们形貌的利用形式往操纵的终极用户。用户在某些情形下能够静态增加拦阻器、命令和举动。作为开源软件,代码和计划都是通明的,如许人们就很简单往扩大Infinispan。
欢迎光临 仓酷云 (http://ckuyun.com/) | Powered by Discuz! X3.2 |