内存数据网格IMDG简介

1 简介

将内存作为首要存储介质不是什么新鲜事儿,我们身边有很多主存数据库(IMDB或MMDB)的例子。在对主存的使用上,内存数据网格(In Memory Data Grid,IMDG)与IMDB类似,但二者在架构上完全不同。IMDG特性可以总结为以下几点:

?  数据是分布式存储在多台服务器上的。

?  每台服务器都是active模式。

?  数据模型通常是面向对象和非关系型的。

?  根据需要,经常会增减服务器。

此外,IMDG与普通缓存系统也是不同的。同样地,在主存使用以及水平扩展上缓存系统与IMDG类似。但是,两者的使用方法和目的是完全不同的。缓存系统只是缓冲读压力,像RDBMS这种持久化存储是必备的。例如下图中的Arcus缓存系统。而IMDG的架构请参考第二部分。

换言之,IMDG将对象本身存储在内存中,并保证可扩展性。常见的商业以及开源产品如下:

?  Hazelcast

?  Terracotta Enterprise Suite

?  VMware Gemfire

?  Oracle Coherence

?  Gigaspaces XAP Elastic Caching Edition

?  IBM eXtreme Scale

?  JBoss Infinispan

2 架构

IMDG亟需克服的两个核心问题是:容量限制和可靠性。通常,IMDG通过水平扩展来克服内存容量上的限制,而通过复制系统来保证可靠性。典型的IMDG架构如下图所示。

因此,前面介绍过的缓存系统与IMDG的区别很明显。

3 特性

除了提供各种数据结构的分布式实现外,IMDG一般会使用堆外内存(off-heap,或叫弹性内存)来降低垃圾回收的压力。

参考资料

Introduction to In-Memory Data Grid: Main Features

时间: 2024-08-26 08:08:31

内存数据网格IMDG简介的相关文章

内存数据网格IMDG简单介绍

1 简单介绍 将内存作为首要存储介质不是什么新奇事儿,我们身边有非常多主存数据库(IMDB或MMDB)的样例.在对主存的使用上.内存数据网格(In Memory Data Grid,IMDG)与IMDB相似,但二者在架构上全然不同. IMDG特性能够总结为下面几点: ?  数据是分布式存储在多台server上的. ?  每台server都是active模式. ?  数据模型一般是面向对象和非关系型的. ?  依据须要.常常会增减server. 此外,IMDG与普通缓存系统也是不同的. 相同地,在

内存数据网格hazelcast的一些机制原理

hazelcast作为一个内存数据网格工具,还算比较优秀,听说有Apache顶级项目使用它,值得研究下,使用文档可以直接看官方文档,但机制原理相关的资料基本没有,本人硬撸源码写的一些东西,跟大家分享一下. 喜欢java的可以交个朋友: 版权声明:本文为博主原创文章,未经博主允许不得转载.

揭秘12306技术改造(三):传统框架云化迁移到内存数据平台

摘要:此篇文章列举不同类型的系统改造迁移到云平台方案,从改造思路探讨,系统框架设计和项目实施的整个迁移过程,供大家参考和交流. 注:本文首发于CSDN,转载请标明出处. [编者按]在年前的「技术揭秘12306改造」专题中,负责12306改造的技术架构师刘云程从技术的角度.用科学论证的方式说明 12306是如何实现高流量高并发的关键技术,以及深入探讨了12306两地三中心混合云架构,今天,他继续为大家带来第三篇:传统框架云化迁移到内存数据平台. 以下为正文>> 摘要 12306混合云成功案例给予

iOS中常用的四种数据持久化方法简介

iOS中常用的四种数据持久化方法简介 iOS中的数据持久化方式,基本上有以下四种:属性列表.对象归档.SQLite3和Core Data 1.属性列表涉及到的主要类:NSUserDefaults,一般 [NSUserDefaults standardUserDefaults]就够用了 @interface User : NSObject <NSCoding>@property (nonatomic, assign) NSInteger userID;@property (nonatomic,

Infinispan 7.0.1.Final 发布,数据网格平台

Infinispan 7.0.1.Final 发布!此版本现已提供 下载 ,是个 bug 修复版本,包括查询性能提升.完整改进记录请看release notes . In?nispan 是个开源的数据网格平台.它公开了一个简单的数据结构(一个Cache)来存储对象.虽然可以在本地模式下运行In?nspan,但其真正的价值在于分布 式,在这种模式下,In?nispan可以将集群缓存起来并公开大容量的堆内存.这可比简单的复制强大的多,因为它会为每个结点分配固定数量的副本——服 务器故障的一种恢复手段

数据绑定和数据网格视图(DataGridView)控件

数据绑定和数据网格视图(DataGridView)控件 数据网格视图控件,不像我们前面看到的控件,它可以显示多个列,但是,数据必须格式化,使数据网格知道要显示哪一列.有两种实现方法:一个是把数据网格视图绑定到数据表(DataTable),另一个是把网格到绑定对象列表,对象有许多属性,不同的属性就成为网格的列. 下面的例子是一种简单的解决方案,绑定到数据集(DataSet): open System open System.Collections.Generic open System.Confi

【原创】用python把内存数据转为明文

接到一个很有意思的任务,给了我一串内存数据的文档,要把它转为看得懂的明文. 我们可以借助hex工具查看这些字符的16进制. int在内存里面是占4个字节,图中的0x64代表右边的字符d. 所以我们现在需要四个四个分组处理,总共有len(file)/4组,每一组对应着file里面字符的位置为[4*n:4*(n+1)].理清楚了这层关系就好做了,我们只需要用ord函数将字符转化为对应的ASCII数值.注意一个字节是8位,所以在高位向地位转化时要乘以256所以代码如下: dat=[] myfile=o

55种开源数据可视化工具简介

55种开源数据可视化工具简介 雪姬 2015-04-21 11:47:56 数据可视化 评论(2)   数据时代数据可视化成为理解和表达数据的有效甚至是唯一的手段. 一共56个,盘点最实用的大数据可视化分析工具 工欲善其事必先利其器,本文对55个流行的数据可视化工具开源协议,主页,文档,案例等资源的进行简单介绍,其中包括著名的D3.js,R,Gephi,Raphaël,Processing.js,Tableau Public,Google Chart Tools,Arbor.js等,资料来源ht

ZeroMQ接口函数之 :zmq_send_const – 从一个socket上发送一个固定内存数据

ZeroMQ API 目录 :http://www.cnblogs.com/fengbohello/p/4230135.html ————————————————————————————————————— ZeroMQ 官方地址:http://api.zeromq.org/4-1:zmq-send-const zmq_send_const(3)           ØMQ Manual - ØMQ/4.1.0 Name zmq_send_const – 从一个socket上发送一个固定内存数据