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).
There's a Go package that seems to support the binary protocol: