Developing fast, scalable applications on server farms and compute clusters requires that rapidly changing application data is instantly accessible, even as servers are added to handle ever increasing workloads. An in-memory data grid (IMDG) uses a distributed software architecture to store object-oriented data in memory across a cluster of commodity servers. (IMDGs should not be confused with in-memory relational databases or disk-based NoSQL stores.) IMDGs provide a fast, scalable, highly-available, and uniformly accessible data storage layer for use by business logic within distributed applications and for caching data from database servers and other sources.
To simplify application development, IMDGs offer an object-oriented view of data using an in-memory, key-value store of serialized objects organized into collections by type. This provides distributed, object-oriented business logic with fast, scalable storage for live data.
IMDGs optionally can be used as a distributed cache to offload databases and other disk-based storage, for example, to store session state or shopping carts within large web farms. Using an IMDG reduces access latency and eliminates scalability bottlenecks.