In-Memory Database

Apache Ignite can be used as a distributed and horizontally scalable in-memory database (IMDB) that supports ACID transactions and can be used with SQL, key-value, compute, machine learning and other data processing APIs.

With Ignite durable memory architecture, data and indexes can be stored both, in memory and on disk. The disk persistence is optional. When persistence is turned on, Ignite can store more data than fits in the available memory, and will act as a complete distributed SQL database.

In scenarios when the whole data set and indexes fit in memory, and the persistence is disabled, Ignite will function as a pure in-memory database supporting SQL, together with all the existing APIs for pure in-memory use cases.

One of the distinguishing characteristics of Ignite SQL is the support for distributed SQL JOINs, which works in both, collocated and non-collocated fashions. When collocated, the JOINs are executed on the local data available on each node without having to move large data sets across the network. Such collocated approach provides the best scalability and performance in distributed clusters.

You should also check Ignite distributed SQL and data grid features.