A gentle reminder that FoundationDB exists and has this nailed down really well. They are just bad at marketing, so it's not in fashion. But do check it out if you want a distributed database with strict serializable semantics, that works.
I would love to see a Jepsen test of this when it's ready. The Redis Cluster evaluation [1] was a great read.<p>[1]: <a href="https://aphyr.com/posts/283-jepsen-redis" rel="nofollow">https://aphyr.com/posts/283-jepsen-redis</a>
Linking to the introduction bypasses the prominent note in the readme:<p>> RedisRaft is still being developed and is not yet ready for any real production use. Please do not use it for any mission critical purpose at this time.
Why choose this over etcd? Especially if it's a limitation / non-goal to support all Redis commands, or to respond with Redis-like quick performance? Why not go with the battle-hardened (it's the backing datastore in Kubernetes), proven option?
I've been watching this project for a long time. It was supposed to be released with Redis 7[1]. But I guess this is not true anymore. And there is no public roadmap saying when it will be production ready.<p>[1] <a href="https://www.zdnet.com/article/redis-labs-unveils-redis-database-7-0/" rel="nofollow">https://www.zdnet.com/article/redis-labs-unveils-redis-datab...</a>
I made my own distributed JSON over HTTP database back in 2016.<p>It has been running in a intercontinental production environment with 100% read uptime since 2017.<p>It's 2000 lines of code: <a href="http://root.rupy.se" rel="nofollow">http://root.rupy.se</a> (this test env. has 3 nodes: fem, six and sju)
> A cluster may lose up to (N/2)-1 nodes<p>What a weird notation. When N=3, a cluster may lose up to 1 node, I don't know how that matches this formula.
I am looking at KeyDB and consider to use it as replacement of Redis. Besides some speed improvements it has good looking replication and cluster solutions. <a href="https://docs.keydb.dev/docs/cluster-spec" rel="nofollow">https://docs.keydb.dev/docs/cluster-spec</a>
But raft isn’t strongly consistent, it has known liveness issues.<p><a href="https://decentralizedthoughts.github.io/2020-12-12-raft-liveness-full-omission/" rel="nofollow">https://decentralizedthoughts.github.io/2020-12-12-raft-live...</a>
AWS’ new MemoryDB also seems to be a strongly consistent Redis cluster service. Anyone know how they compare?<p><a href="https://aws.amazon.com/memorydb/features/" rel="nofollow">https://aws.amazon.com/memorydb/features/</a>