Apache Ignite

Distributed
Key-Value APIs

Query your distributed data in the fastest way possible
with key-value APIs
Distributed Key-Value APIs

Key-Value APIs Overview

Every record in Ignite is stored as a key-value pair. All the records are distributed evenly across the cluster nodes. Your key-value queries are directed automatically to the nodes that store requested data. This is how Ignite utilizes all the given memory, disk, and CPU resources.

Key-value APIs are supported by all existing Ignite client libraries:

Java (implements JSR-107 specification known as JCache)

.NET

Python

Node.JS

Your language

Apache Ignite key-value APIs provide additional capabilities such as automatic synchronization with external databases, near caching and ACID transactions.

Automatic Synchronization With External
Databases To Keep A Consistent Copy Of Data

Two synchronization strategies are available in Apache Ignite:
write-through/behind and read-through.

Write-through and write-behind capabilities
Ignite can automatically write-through or write-behind all the changes to an external database for every key-value request issued by your applications.
Read-through capabilities
Read-through means that Ignite can automatically load data from an external database if a record is missing in memory.

Near Cache To Process Your Requests In Microseconds

A near cache is a local client-side cache that stores the most frequently
used data on the application end.

How it works

It is applied to applications that require a consistent response time of a few microseconds. Ignite automatically invalidates and updates the near cache.

Whenever the primary copy of a record gets updated on a server node, Ignite propagates the change to all the nodes that store the record’s backup copy, as well as to the applications that keep the record’s copy in their near caches.

1. Call to the near cache

2. Call to the Ignite cluster (if a record is not found in the near cache)

3. Read-through from the external database(if the record is not in the Ignite cluster yet)

ACID Transactions To Update Your Distributed Records Consistently

Apache Ignite key-value APIs are fully transactional, which means that data can be updated consistently and reliably.

How it works

An Ignite transaction can update multiple records from different tables stored on different cluster nodes. Ignite can even span a transaction to an underlying relational database. Ignite implements two-phase-commit protocol to ensure data consistency at scale.

Want to Learn More?

Check out how Apache Ignite can be configured
and used as a standard key-value store

Key-Value Store