将内存作为首要存储介质不是什么新鲜事儿,在对主存的使用上,内存数据网格(In Memory Data Grid,IMDG)与IMDB类似,但二者在架构上完全不同。IMDG特性可以总结为以下几点:
- 数据是分布式存储在多台服务器上的。
- 每台服务器都是active模式。
- 数据模型通常是面向对象和非关系型的。
- 根据需要,经常会增减服务器。
换言之,IMDG将对象本身存储在内存中,并保证可扩展性。常见的商业以及开源产品如下:
- Hazelcast
- Terracotta Enterprise Suite
- VMware Gemfire
- Oracle Coherence
- Gigaspaces XAP Elastic Caching Edition
- IBM eXtreme Scale
- JBoss Infinispan
缓存系统与IMDG的区别很明显
除了提供各种数据结构的分布式实现外,IMDG一般会使用堆外内存(off-heap,或叫弹性内存)来降低垃圾回收的压力。
参考资料