HazelCast-Java实现的内存数据网格(In-Memory Data Grid)分析 一

http://www.schooner-ht.com/2011/05/23/hazelcast-java%E5%AE%9E%E7%8E%B0%E7%9A%84%E5%86%85%E5%AD%98%E6%95%B0%E6%8D%AE%E7%BD%91%E6%A0%BCin-memory-data-grid%E5%88%86%E6%9E%90-%E4%B8%80/

什么是内存数据网格(以下简称IMDG)?

数据在多个服务器之间共享,提供快速的响应时间,高吞吐量,高扩展性,信息可靠以及持续的稳定性,是内存数据网格的一些基本定义.

有什么用?

当你需要快速访问大型数据集合,并且又无法忍受从磁盘(譬如:数据库)中检索数据时.需要将数据保存在内存中,但是单一服务器内存大小可能不满足数据集合容量.

缺点:内存断电容易丢失,所有服务器断电容易造成数据丢失.

最适用于:Cache.

 

如何评价一个IMDG的实现?

  • Shared across multiple servers, 数据非常容易被集群里所有的服务器共享,外界不需要知道数据存放在哪个节点.
  • Low response times, 数据存储和读取, 响应时间要快.
  • High throughput, 大吞吐量, 随着集群服务器数量的增加,自动负载均衡,分担读写压力.
  • Scalability, 动态扩充和调整集群服务器的数量.
  • Failover and Information reliability, 失效备援,当遇到网络或者硬件问题,不需要人工的干预,自动的切换到备份机器上,同时保证数据完整性.

几种常见的设计拓扑图.

1. 完全复制( Replicated Topology)

数据在集群内的每一个节点都有备份.update的结果会同步到整个集群中

优点:读操作的性能到极致

缺点:数据占用内存太大,随集群数量大小增长.

适用于:小集群对读要求特别高的系统.

 

2.部分复制(Partitioned Topology)

数据保存一个主数据源以及一到多个备份数据源

优点:高可扩展性,相比Replicated Topology内存使用得到很大的提升

适用于:需要读取大数据集的系统.

 

3.Near Topology

集群内有的服务器可能需要运行其他的一些应用程序,这些服务器上就不能存放数据.

 

 

 

现有的一些产品实现:

1. GigaSpaces XAP Elastic Caching Edition : http://www.gigaspaces.com/datagrid

2.Oracle Coherence  : http://www.oracle.com/technetwork/middleware/coherence/index.html

3.HazleCast (OpenSource) : http://www.hazelcast.com/


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值