gokv
gokv copied to clipboard
Add more gokv.Store implementations
Instead of creating a new issue as soon as someone thinks a new implementation makes sense, let's use this ticket for collecting ideas which implementations could make sense in the future.
Only when getting more serious about a specific implementation and starting to more thoroughly evaluate the key-value store / DB, a new issue specifically for that store should be created.
- Cloudflare Workers KV
- https://workers.cloudflare.com/docs/reference/storage/overview/
- Limitations (important to mention in the
gokv
docs): https://workers.cloudflare.com/docs/reference/storage/limitations/ - API reference: https://api.cloudflare.com/#workers-kv-namespace-properties
- There doesn't seem to be any Go library for it yet, so when
gokv
is the first one, maybe mention it somewhere like https://github.com/tomByrer/awesome-cloudflare-workers
- bitcask
- Embedded key-value store
- https://github.com/prologic/bitcask
- https://prologic.github.io/bitcask/
- bitraft
- Distributed key-value store, based on bitcask
- https://github.com/prologic/bitraft
- https://prologic.github.io/bitraft/
- NutsDB
- Embedded key-value store
- https://github.com/xujiajun/nutsdb
- https://xujiajun.cn/nutsdb/
- Pebble
- Embedded key-value store
- By the CockroachDB guys
- https://github.com/cockroachdb/pebble
- ScyllaDB
- Compatible to Apache Cassandra, but meant to be faster
- https://github.com/scylladb/scylla
- https://www.scylladb.com/
- FoundationDB
- By Apple
- Multi-model datastore
- https://github.com/apple/foundationdb
- https://www.foundationdb.org/
- Yugabyte
- NewSQL
- https://github.com/yugabyte/yugabyte-db
- https://www.yugabyte.com/
- FaunaDB
- Not self-hostable? Usable as key-value store at all?
- https://fauna.com/faunadb
- Go driver: https://github.com/fauna/faunadb-go
- minikeyvalue
- Distributed key-value store
- By George Hotz a.k.a. geohot
- https://github.com/geohot/minikeyvalue
- Ristretto
- Embedded cache
- By the creators of BadgerDB
- https://github.com/dgraph-io/ristretto
- Blog article: https://blog.dgraph.io/post/introducing-ristretto-high-perf-go-cache/
- Lungo
- Embedded MongoDB compatible DB
- https://github.com/256dpi/lungo
- Redix
- Distributed Redis compatible DB
- https://github.com/alash3al/redix
- Olric
- Usable as embedded cache or as service
- https://github.com/buraksezer/olric
Would you consider https://github.com/prologic/bitcask ? 😁
James Mills / prologic
E: [email protected] W: prologic.shortcircuit.net.au
Sorry for the late reply @prologic! When you commented I actually already had bitcask (and bitraft) on a TODO list elsewhere.
I extended the list in the top comment by:
- Bitcask
- Bitraft
- NutsDB
- Pebble
- ScyllaDB
- FoundationDB
- Yugabyte
- FaunaDB
- Minikeyvalue
- Ristretto
No worries :)
Added Lungo and Redix
Added Olric