What is Apache Ignite?

Apache Ignite is a distributed database management system for high-performance computing.

By default, Ignite operates in a pure in-memory mode. But, by switching a single configuration setting, we can turn a cluster into a database that can grow beyond the cluster's memory capacity:

Apache Ignite's database utilizes RAM as the default storage and processing tier, thus, belonging to the class of in-memory computing platforms. The disk tier is optional but, once enabled, will hold the full data set whereas the memory tier will cache full or partial data set depending on its capacity.

Data in Ignite is stored in the form of key-value pairs. The database component distributes key-value pairs across the cluster in such a way that every node owns a portion of the overall data set. Data is rebalanced automatically whenever a node is added to or removed from the cluster.

It uses a completely new SQL query engine with a modern architecture specifically designed for the cloud.

Apache Ignite cluster can be deployed on-premises on a commodity hardware, in the cloud (e.g. Microsoft Azure, AWS, Google Compute Engine) or in a containerized and provisioning environment such as Kubernetes, Docker, Apache Mesos, VMWare etc.


Apache Ignite Architecture

Figure 1 : Apache Ignite Memory Architecture

Ignite memory architecture allows storing and processing data and indexes both in memory and on disk, and helps achieve in-memory performance with the durability of disk.