Apache Ignite - Introduction
This is an introductory post to Apache Ignite.
1. What is Apache Ignite?
- It is in-memory compute platform.
- It is in-memory data grid.
- Durable, strongly consistent and highly available.
- Providing option to run SQL like queries on cache (Providing JDBC API to support this).
2. Durable memory
Apache Ignite is memory-centric platform based on durable memory architecture. It allows you to store and processing data on in-memory(RAM) and on disk (If Ignite Native persistence is enabled). When the Ignite native persistence is enabled, it will treat disk as superset of data, which is cable of surviving crash and restarts.
3. In-memory features
RAM is always treated as first memory tier, all the processing happens there. It has following characteristics.
- Off-heap based: All the data and indexes are stored outside of Java heap which helps in processing petabytes of data.
Since all data and indexes are off-heap based, it removes noticeable GC pauses since application code is only source possible for pause-the-world events.
- It has predictable memory usage. You can configure memory usage with
MemoryConfiguration
.
- It uses memory as efficient as possible and runs defragmentation routines in the background.
- Data and indexes on disk and in-memory are stored as same page format which improved the performance and avoids unnecessary data format conversion.
4. Persistence features
Here are few high-level persistence features.
- Persistence is optional to disk. You can enable or disable it.
- It provides data resiliency. If persistence is enabled, full dataset will be stored on physical disk and you can survives cluster restarts, crashes.
- It can execute SQL queries on full dataset.
- Cluster restarts are instantaneous. In-memory data will be cached automatically.
Tags:
Apache Ignite,
Compute Grid,
distributed caching,
distributed database,
in-memory data grid
← Back home