philippgille/gokv

Add gokv.Store implementation for Apache Ignite

philippgille opened this issue · 1 comments

Apache Ignite seems to be one of the most popular multi-model open source databases. It has a key-value store mode, which seems to be meant to be used as cache, but Apache Ignite seems to be doing everything in-memory first, and then use their "durable memory" or "persistence" components to achieve durability.

The key-value store mode is JCache compliant, see:

Is Ignite a key-value store?

Yes. Ignite provides a feature rich key-value API, that is JCache (JSR-107) compliant and supports Java, C++, and .NET.

And: https://ignite.apache.org/use-cases/database/key-value-store.html

The latter link includes the following bullet point regarding the JCache specification:

  • Pluggable Persistence

So this seems to be the optimal way to use Ignite, but on the other hand there don't seem to be any Go packages for JCache. But then again, Ignite supports the Redis protocol (see here), has its own binary protocol (see here) and even a REST API (see here).