Live data from Hacker News

Redis Cluster Tutorial

redis.io

1–10 of 29 posts

Re: Redis Cluster Tutorial

#3
post #2

Great post. I uploaded Salvatore keynote from Redis Conf 2013 today. http://blog.togo.io/redisconf/a-short-term-plan-for-redis-by...

Thanks for the link. I have recently started exploring too much into redis at a source code level and its incredibly fascinating.

Re: Redis Cluster Tutorial

#4
If Redis would now just use names for databases instead of numbers and get rid of the limit of number of databases... Managing multiple application instances (production, test, staging for multiple countries) using a single shared Redis instance but requiring separate databases is a huge pain.

Re: Redis Cluster Tutorial

#5
post #4

If Redis would now just use names for databases instead of numbers and get rid of the limit of number of databases... Managing multiple application instances (production, test, staging for multiple countries) using a single shared Redis instance but requiring separate databases is a huge pain.

Numbered databases are (de facto) deprecated. Run separate processes, instead.

(Redis is single-threaded, anyways. You probably don't want to run production and staging on the same Redis process.)

Re: Redis Cluster Tutorial

#6
post #2

Great post. I uploaded Salvatore keynote from Redis Conf 2013 today. http://blog.togo.io/redisconf/a-short-term-plan-for-redis-by...

Thanks for the link. I have recently started exploring too much into redis at a source code level and its incredibly fascinating.

It's also beautiful code. It's a great project to learn from.

Re: Redis Cluster Tutorial

#7
post #4

If Redis would now just use names for databases instead of numbers and get rid of the limit of number of databases... Managing multiple application instances (production, test, staging for multiple countries) using a single shared Redis instance but requiring separate databases is a huge pain.

Numbered databases are (de facto) deprecated. Run separate processes, instead. (Redis is single-threaded, anyways. You probably don't want to run production and staging on the same Redis process.)

Still not a suitable solution IMHO. Now you have to deal with multiple ports, startup scripts etc etc

Every other database on the planet has database names pretty much.

I LOVE Redis but this is just a bonkers limitation IMHO...

Re: Redis Cluster Tutorial

#8
I have a few serious concerns: Suppose have nodes A,B,C,D running with slaves and you have a user u1 start retrieving and storing data. The odds will be high that the user u1 stores keys on all nodes A,B,C,D since all the keys are based on a numerical hashed slot.

1) The user u1 will end up connecting to all nodes. Thus as you scale adding an "E" you always end up connecting to each cluster having the same amount of connections. Example, let's say A,B,C,D have 5k connections open and you add "E". Now "E" has 5k connections. Now you are blocked by the number of requests per second and no amount of hardware can save you.

2) Let's say B and B1 die. (It happens.) Now your system is completely out. All 5k connections are blocked. It would be nice if A,C,D,E continue to run.

I usually get around things like this using an index server between user u1 and A,B,C,D. When u1 starts retrieving keys the system needs to be designed such that u1 only connects to single node for it's keys.

How do you get around 1,2? Do other people use index servers?

Re: Redis Cluster Tutorial

#9

Earlier quoted context omitted.

Numbered databases are (de facto) deprecated. Run separate processes, instead. (Redis is single-threaded, anyways. You probably don't want to run production and staging on the same Redis process.)

Still not a suitable solution IMHO. Now you have to deal with multiple ports, startup scripts etc etc Every other database on the planet has database names pretty much. I LOVE Redis but this is just a bonkers limitation IMHO...

None of the reasons why many traditional databases have multi-tenancy support was ever relevant for redis.

And in a world that increasingly moves to containerization you should really look into adding automation to your admin workflow (e.g. ansible). 'port' and 'startup script' should become 'service' and 'template' in your mind.

Re: Redis Cluster Tutorial

#10

Earlier quoted context omitted.

Numbered databases are (de facto) deprecated. Run separate processes, instead. (Redis is single-threaded, anyways. You probably don't want to run production and staging on the same Redis process.)

Still not a suitable solution IMHO. Now you have to deal with multiple ports, startup scripts etc etc Every other database on the planet has database names pretty much. I LOVE Redis but this is just a bonkers limitation IMHO...

antirez once commented on this: https://groups.google.com/forum/#!msg/redis-db/vS5wX8X4Cjg/8...
Post reply on HN