一段时间以来,Nosql数据库(e.g MongoDB,membase),分布式缓存(e.g memache)大行其道,在互联网应用中广泛使用。最近以hadoop为首的大型分布式计算,云计算也越来越流行。这几天,又留意到一个新的方面:In Memory Data Grid(自己翻译成“内存数据网格”)。最初接触到这个词是因为Hazelcast,当时只是单纯地考虑用Hazelcast替换memache,今天看到一篇文章对IMDG的解释,感觉挺清楚的,拷贝下来供以后参考。
http://www.theserverside.com/news/thread.tss?thread_id=63425
In summary an IMDG is an ‘off the shelf’ software product that exhibits the following characteristics:
- The data model is distributed across many servers in a single location or across multiple locations. This distribution is known as a data fabric. This distributed model is known as a ‘shared nothing’ architecture.
- All servers can be active in each site.
- All data is stored in the RAM of the servers.
- Servers can be added or removed non-disruptively, to increase the amount of RAM available.
- The data model is non-relational and is object-based.
- Distributed applications written on the .NET and Java application platforms are supported.
- The data fabric is resilient, allowing non-disruptive automated detection and recovery of a single server or multiple servers.
个人总结几个关键点:
- 首先自然是网格式分布式存储。
- 所有数据存于内存(RAM)。
- 存储服务器数量可随时增减。
- 数据模型是非关系模型,而是基于对象模型。
- 在网格内的某一台存储服务器的启动和关闭不会影响到网格内的其他服务器。