In-memory computing is a software and data-processing technique that stores data sets in memory across a cluster of interconnected nodes. The data is processed in parallel to deliver performance that is 100-1000x faster than disk-based systems. In-memory computing software includes a distributed in-memory store with APIs and libraries optimized for high-performance data processing. Each cluster node (physical or virtual machine) contributes its available memory space with CPU cores to the total capacity of the cluster. An application interacts with the cluster as a single unit letting the in-memory computing software shield and manage all the internals related to inter-node communications, data distribution, and queries processing. The cluster scales linearly and horizontally to meet the data volume and throughput goals of the applications.
Apache Ignite® is a horizontally scalable, fault-tolerant, distributed in-memory computing platform. You can use Ignite to build real-time applications processing terabytes of data at in-memory speeds. The Ignite distributed, multi-tier storage scales up and out across available memory and disk resources. Ignite can be configured to function as an in-memory cache, in-memory data grid, or in-memory database. The Ignite compute and data processing APIs are capable of handling large data sets with minimal or no network utilization by applying affinity co-location techniques for data and compute logic.