Ignite is an in-memory, distributed key-value store which uses a shared-nothing, node-based cluster architecture. It can be used with existing 3rd party databases to improve performance and scalability, and it can also be used in its native persistence.


Ignite was originally the proprietary GridGain DBMS. It was then open-sourced in late 2014 and then accepted in the Apache Incubator program.



Ignite uses internal B+tree data structures to store regular indexes. Ignite supports primary and secondary indexes, but it will only enforce the uniqueness of primary indexes.

Stored Procedures


Ignite support access to the contents of the result generated by batches and stored procedures.

Query Interface


Storage Architecture

Disk-oriented In-Memory

Apache Ignite is a memory-centric distributed database. However, there is a native persistence option in Ignite. If you turned it off, it is a pure in-memory store. When the option is turned on, it stores both data and indexes on disk. In this mode, a subset of data is stored in memory. Additionally, one benefit of this mode is that the indexes don't need to be rebuild when the system restarts since they are persisted on the disk.

Data Model


Ignite uses a key-value store. And Ignite determines the location of the data using a pluggable hashing algorithm. It means every client can determine where the value is stored by plugging the key into a hashing function.


Consistent Fuzzy

According to Ignite's confluence page, consistent checkpointing has been implemented in the system. The fuzzy checkpointing may be implemented in future releases.

Isolation Levels

Read Committed Serializable Repeatable Read

Ignite supports the following three isolation levels: READ_COMMITTED, REPEATABLE_READ, and SERIALIZABLE.

System Architecture


Ignite is a memory-centric distributed database, caching, and processing platform. Ignite uses a shared-nothing, node-based cluster architecture. The nodes Ignite nodes can automatically discover each other. This helps to scale the cluster when needed, without having to restart the whole cluster.


Virtual Views

Ignite has some built-in views that contain information about cluster nodes.


Logical Logging

Ignite uses a write-ahead log which logs logical database modifications and page changes.

Concurrency Control

Multi-version Concurrency Control (MVCC)

MVCC now is released as beta versions in Ignite version 2.7 In MVCC, Ignite will create a logical snapshot of data for each transaction. The snapshot is consistent throughout the transaction and the transaction can only view and modify data in this snapshot. If an entry is read by transaction A and updated by transaction B when transaction A tries to update the entry again, Ignite will throw an exception and transaction A will need to be retried.

Foreign Keys

Not Supported

Ignite does not support foreign key constraints.

Ignite Logo


Source Code


Tech Docs



Apache Foundation

Country of Origin


Start Year


Project Type

Open Source

Written in


Supported languages

C#, Java

Derived From



Apache v2