Apache Ignite is a memory computing platform that is durable, consistent, and highly available, with powerful SQL, key-values, and processing APIs.
- Memory-Centric Storage
Apache Ignite is based on distributed memory-centric architecture that combines the performance and scale of in-memory computing together with the disk durability and strong consistency in one system.The main difference between the memory-centric approach and the traditional disk-centric approach is that the memory is treated as a fully functional storage, not just as a caching layer, like most databases do. For example, Apache Ignite can function in a pure in-memory mode, in which case it can be treated as an In-Memory Database (IMDB) and In-Memory Data Grid (IMDG) in one.On the other hand, when persistence is turned on, Ignite begins to function as a memory-centric system where most of the processing happens in memory, but the data and indexes get persisted to disk. The main difference here from the traditional disk-centric RDBMS or NoSQL system is that Ignite is strongly consistent, horizontally scalable, and supports both SQL and key-value processing APIs.
Ignite provides full support for SQL, DDL and DML, allowing users to interact with Ignite using pure SQL without writing any code. This means that users can create tables and indexes as well as insert, update, and query data using only SQL. Having such complete SQL support makes Ignite a one-of-a-kind distributed SQL database.
- Distributed Key-Value
The in-memory data grid component in Ignite is a fully transactional distributed key-value store that can scale horizontally across 100s of servers in the cluster. When persistence is enabled, Ignite can also store more data than fits in memory and survive full cluster restarts.
Apache Ignite 2.7.5 released.
- Changed default persistence directory location when IGNITE_HOME is not set, native persistence files will not be stored in the temp directory anymore
- Fixed a bug that caused a SELECT query with an equality predicate on a part of the primary compound key to return a single row even if the query matched multiple rows
- Fixed an issue that could cause data corruption during checkpointing
- Fixed an issue where a row size was calculated incorrectly for shared cache groups, which caused a tree corruption
- Reduced java heap footprint by optimizing GridDhtPartitionsFullMessage maps in exchange history
- Fixed an issue where an outdated node with a destroyed cache caused the cluster to hang
- Fixed a bug that made it impossible to change the inline_size property of an existing index after it was dropped and recreated with a different value
- Fixed an issue causing silent control.sh script fail when JAVA_HOME is not set
- Fixed an issue causing sporadic node failure when persistence is enabled and WAL mmap is disabled
- Fixed an issue causing potential PDS corruption when a node is killed during checkpoint mark phase
- Native persistence now works with a custom affinity function
- Fixed missing CacheEntryEventType.Removed event