IMDG
文章平均质量分 79
cdai
这个作者很懒,什么都没留下…
展开
-
开源IMDG之GridGain
作为另一款主流的开源数据网格产品,GridGain是Hazelcast的强有力竞争者。同样提供了社区版和商业版,近日GridGain的开源版本已经进入Apache孵化器项目Ignite(一款开源的内存计算(In-Memory Computing)IMC中间件),目前Apache正在迁移GridGain开源版本的代码到Ignite项目。鉴于经过之前Hazelcast的介绍已经对数据网格产品有了一定了原创 2015-01-11 20:56:10 · 8408 阅读 · 5 评论 -
Redis源码学习:字符串
Redis源码学习:字符串1.初识SDS1.1 SDS定义Redis定义了一个叫做sdshdr(SDS or simple dynamic string)的数据结构。SDS不仅用于 保存字符串,还用来当做缓冲区,例如AOF缓冲区或输入缓冲区等。如下所示,整数len和free分别表示buf数组中已使用的长度和剩余可用的长度,buf是一个原生C字符串,以\0结尾。sds就是sdshdr中char buf原创 2015-05-30 08:05:29 · 2973 阅读 · 5 评论 -
Redis源码学习:Lua脚本
Redis源码学习-Lua脚本1.Sublime Text配置我是在Win7下,用Sublime Text + Cygwin开发的,配置方法请参考《Sublime Text 3下C/C++开发环境搭建》。要注意的是:在Cygwin中安装Lua解析器后,SublimeClang插件就能识别出可饮用的Lua头文件了,因为Build System中我们已经配置过"-I", "D:\\cygwin64\\u原创 2015-05-22 22:04:33 · 3547 阅读 · 4 评论 -
Hazelcast源码剖析之Eviction
在使用Hazelcast的Eviction时,发现观察到的现象与想象的不同。按照官方文档介绍,Eviction有这样几个配置选项:<hazelcast> <map name="default"> ... <time-to-live-seconds>0</time-to-live-seconds> <max-idle-seconds>0</max-idle-seconds> <eviction-policy>LRU</eviction-policy> <max-s原创 2015-03-07 18:35:43 · 3721 阅读 · 0 评论 -
YCSB性能测试工具使用
在网上查In-Memory NoSQL性能测试的资料时,偶然间发现了这个性能测试工具YCSB,全称为“Yahoo! Cloud Serving Benchmark”。它内置了对常见NoSQL数据库和数据网格产品的支持,如Cassandra、MongoDB、HBase、Redis、Infinispan等等很多的主流产品,而且不仅安装使用简单,还能自由扩展测试数据类型和支持的数据库产品。1 编译安装首原创 2015-02-28 22:46:39 · 35263 阅读 · 11 评论 -
IMDG中的陷阱和问题
陷阱使用cache API时,一个最重要的问题就是潜在的数据加载。因为IMDG提供的分布式集合也都是实现的JDK的Map、Set等接口,以JDK的Map为例,它接口规定put和remove返回被替换的对象或删除掉的对象,所以这会导致我们操作缓存时导致与后端存储的通信。所以我们要调用其它版本的API,例如GridGain提供了putx等接口,其返回值是一个布尔值而非旧的对象。问题现今的IMDG虽然已原创 2014-12-31 19:15:16 · 2269 阅读 · 0 评论 -
内存计算技术资料整理
先来看一下一张技术的全景图,其中涉及内存计算的技术标成红色。 1)事务处理:主要分为Cache(Memcached, Redis, GemFire)、RDBMS、NewSQL(以VoltDB为首的)三部分,缓存和NewSQL数据库是关注的重点。2)流式处理:Storm本身只是计算的框架,而Spark-Streaming才实现了内存计算式的流处理。3)分析阶段的对比:Ø 通用处理:MapReduc原创 2014-12-13 14:22:32 · 15351 阅读 · 2 评论 -
IMDG产品功能扩展
开源IMDG通常都提供了SPI或其他接口,供用户自行扩展。以Hazelcast为例,我们可以用一些好玩的小工具增强其查询、Map和后端持久化的功能。这些小工具虽然看起来很小,但功能也非常强大。SQL查询JoSQL非常简单易用,只需几步就可以在普通Java对象上实现SQL查询功能,而且对标准SQL支持的还很全面呢。同时也提供了接口,我们可以自定义想要的SQL函数。 它与Hazelcast的集成方法非原创 2015-01-17 10:11:28 · 2858 阅读 · 0 评论 -
P2P系统,一致性哈希和DHT
数据网格产品经常会使用P2P进行通信,借此机会系统地学习一下P2P网络和其资源搜索策略。1 P2P网络架构谈到P2P就涉及到一个概念:Overlay Network(覆盖网络)。所谓覆盖网络是应用层网络,几乎不考虑网络层和物理层,它具体指的就是建立在另一个网络上的网络。例如P2P网络就是覆盖网络,因为它运行在互联网之前,但允许对未知IP主机的访问。通过DHT等算法,可以在事先不知道IP地址的情况下原创 2015-01-11 17:24:14 · 10654 阅读 · 5 评论 -
Hibernate缓存集成IMDG
1 第三方缓存插件除了Ehcache这种轻量级的缓存方案外,几乎所有IMDG产品都提供了对Hibernate二级缓存的直接支持,常用的有:Ø HazelcastØ GridGainØ JBoss InfinispanØ Terracotta(额外提供了直接替换Session对象的集成方式)2 缓存工作过程下面以JVM集群Terracotta为例,首先从最原始的JDBC到Hibernate到原创 2015-01-11 16:58:18 · 2389 阅读 · 0 评论 -
Hadoop加速器GridGain
GridGain的Hadoop加速器像GridGain等内存网格产品(IMDG)不仅可以作为简单的缓存,加速Hadoop中MapReduce计算也是IMDG的一个亮点。这样内存计算领域又多了一种思路和选择,而不只是Spark独霸一方的局面。关于GridGain的功能介绍请参考《开源IMDG之GridGain》。1.安装Hadoop 2.7.1很早之前写过一篇《Hadoop入门(一):Hadoop伪分原创 2015-11-14 19:40:00 · 3646 阅读 · 0 评论