Closed WhiteTrashLord closed 4 years ago
You are not wrong, this is how RedisRaft (and Raft itself) work. The goal is strong consistency and reliability that can be guaranteed as long as at least (N/2)+1 of the nodes are available.
If you're OK with N=3, you simply need to create a RedisRaft cluster of 3 nodes. If you need more compute or RAM resources for your dataset, the best you can do now is create 3 RedisRaft clusters (3 nodes each) and partition/shard your data at the client side. In the future we may also have additional clustering options.
If you're looking for more flexible configuration and more relaxed consistency/durability guarantees then you may consider using Redis Cluster instead.
Oh and just to be sure you're aware, RedisRaft is still under development and we don't consider it ready for production!
Thank you for your fast reply. I know that RedisRaft is still under development. That's why I wanted to know if it will work similar to CockroachDB in the future. CockroachDB also uses Raft. Having only 1 big cluster without any client sharding is probably easier for most developers. But maybe it's the best if RedisRaft will be as simple as possible.
Let's assume we have a RedisRaft cluster with 9 nodes. Currently the same data will be saved on all 9 nodes or am I wrong? Do you plan that users can change the replication factor? I think for most users it would be enough that the data is stored on 3 nodes. This way a cluster could save much more data.