Apache Ignite™ is a memory-centric distributed database, caching, and processing platform for transactional, analytical, and streaming workloads delivering in-memory speeds at petabyte scale. It provides high-performance, in-memory computing capabilities for large data sets.
What is Apache Ignite for?
Apache Ignite provides a framework for in-memory computing operations on large scale data sets. It supports the following features:
- Memory-centric, strongly consistent, distributed storage
- Distributed SQL - supports ANSI SQL in-memory and on-disk transactional database
- Distributed Key-Value - supports in-memory and on-disk key-value transactional data grid
- In-Memory Compute grid - supports collocated computations and executor services
- In-Memory Service grid - supports clusters and compute contracts
- In-Memory Streaming - supports data streaming services like Kafka
- In-Memory File system - supports the IGFS (Ignite filesystem)
Apache Ignite architecture combines the performance and scale of in-memory computing together with the disk durability and strong consistency in one system. When native persistence is turned on, Ignite functions as a memory-centric system-of-record, where most of the processing happens in memory on cached data, but the superset of data and indexes gets persisted to disk.
When persistence is turned off, Ignite functions as a memory-only store, in which case it can be treated as a Distributed Cache, In-Memory Database (IMDB) or In-Memory Data Grid (IMDG).