内存数据网格IMDG简单介绍

1 简单介绍

将内存作为首要存储介质不是什么新奇事儿,我们身边有非常多主存数据库(IMDB或MMDB)的样例。在对主存的使用上。内存数据网格(In Memory Data Grid,IMDG)与IMDB相似,但二者在架构上全然不同。

IMDG特性能够总结为下面几点:

Ø  数据是分布式存储在多台server上的。

Ø  每台server都是active模式。

Ø  数据模型一般是面向对象和非关系型的。

Ø  依据须要。常常会增减server。

此外,IMDG与普通缓存系统也是不同的。

相同地,在主存使用以及水平扩展上缓存系统与IMDG相似。可是,两者的用法和目的是全然不同的。缓存系统仅仅是缓冲读压力。像RDBMS这样的持久化存储是必备的。比例如以下图中的Arcus缓存系统。而IMDG的架构请參考第二部分。

内存数据网格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简单介绍

因此。前面介绍过的缓存系统与IMDG的差别非常明显。

内存数据网格IMDG简单介绍

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGNfNzI2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

3 特性

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

内存数据网格IMDG简单介绍

參考资料

Introduction to In-Memory Data Grid: Main Features

上一篇:iBatis 代码自动生成工具 iBator 及 Example 使用


下一篇:IOS中图片加载的一些注意点