23

I was reading Redis documentation, and I am most interested in the partitioning feature.

Redis documentation states the following:

Data store or cache? Partitioning when using Redis ad a data store or cache is conceptually the same, however there is a huge difference. While when Redis is used as a data store you need to be sure that a given key always maps to the same instance, when Redis is used as a cache if a given node is unavailable it is not a big problem if we start using a different node, altering the key-instance map as we wish to improve the availability of the system (that is, the ability of the system to reply to our queries). Consistent hashing implementations are often able to switch to other nodes if the preferred node for a given key is not available. Similarly if you add a new node, part of the new keys will start to be stored on the new node. The main concept here is the following: If Redis is used as a cache scaling up and down using consistent hashing is easy. If Redis is used as a store, we need to take the map between keys and nodes fixed, and a fixed number of nodes. Otherwise we need a system that is able to rebalance keys between nodes when we add or remove nodes, and currently only Redis Cluster is able to do this, but Redis Cluster is not production ready.

From the last sentence I understand that Redis Cluster is not production ready. Does anyone knows whether this documentation is up to date, or Redis Cluster is already production ready?

Genry
  • 1,358
  • 2
  • 23
  • 39
  • 1
    The docs point to the [cluster spec](http://redis.io/topics/cluster-spec) which indicate that much of the functionality is not yet implemented or only partially implemented. You can consider this not production ready at this time... – PinnyM Feb 18 '13 at 17:28

3 Answers3

31

[Update] Redis Cluster was released in Redis 3.0.0 on 1 Apr 2015.

Redis cluster is currently in active development. See this article from Redis author: Antirez.

So I can pause other incremental improvements for a bit to focus on Redis Cluster. Basically my plan is to work mostly to cluster as long as it does not reach beta quality, and for beta quality I mean, something that brave users may put into production.

Redis Cluster will support up to ~1000 nodes.

The first release will have the following features (extracted from Antirez post):

  1. Automatic partition of key space.
  2. Hot resharding.
  3. Only single key operations supported (and it will always be that way).

As of today antirez is working on the first Redis cluster client (redis-rb-cluster) in order to be used as a reference implementation.


I'll update this answer as soon as Redis Cluster goes production ready.

[Update] 03/28/2014 Redis Cluster is already used on large cluster in production (source: antirez tweets).

FGRibreau
  • 7,021
  • 2
  • 39
  • 48
  • It's up to 1000 nodes, of course it will handle a cluster of 10 nodes :). I updated my answer. – FGRibreau Feb 20 '13 at 00:01
  • I meant I understand that the work is done now in order to have the option to scale up to 1000. But is the implementation already can support up to 10 nodes today? Or the implementation is not ready at all yet? – Genry Feb 20 '13 at 23:50
  • 1
    Oh I see, it's definitely not production ready. For instance an issue with a cluster of 4 nodes crashing was only fixed 6 days ago ( https://github.com/antirez/redis/issues/607 ). IMHO, the best option is still to wait for 2.8 :) – FGRibreau Feb 21 '13 at 12:23
  • "Redis 2.8.3 is the latest stable version." so it's now production ready? – Mathieu Dec 22 '13 at 14:05
  • @Mathieu in fact it will be available in Redis 3.0 see https://github.com/antirez/redis/issues/milestones, I updated my answer :) – FGRibreau Dec 22 '13 at 21:07
2

Today the first Release Candidate for Redis 3.0.0 has been released, which includes a stable version of Clustering: http://redis.io/download.

See also this post by Antirez: http://antirez.com/news/79.

Leon Cullens
  • 12,276
  • 10
  • 51
  • 85
1

Redis Cluster is included in Redis 3.0.0, released 1 Apr 2015.

--[ Redis 3.0.0 ] Release date: 1 Apr 2015

What's new in Redis 3.0 compared to Redis 2.8?

  • Redis Cluster: a distributed implementation of a subset of Redis.

https://raw.githubusercontent.com/antirez/redis/3.0/00-RELEASENOTES

d_burakov
  • 21
  • 3