Live data from Hacker News

Instagram: Making the Switch to Cassandra from Redis

planetcassandra.org

11–20 of 29 posts

Re: Instagram: Making the Switch to Cassandra from Redis

#11
post #6

I wonder if being part of Facebook (from which Cassandra originated) has anything to do with the choice for Cassandra over other databases.

Apparently Facebook is not using Cassandra much. For their messaging project they ended up with HBase instead of Cassandra [1]. I don't know if the system replaced the earlier Cassandra system, or complemented it.

[1] http://nosql.mypopescu.com/post/1583884165/facebook-the-unde...

Re: Instagram: Making the Switch to Cassandra from Redis

#12
post #8
post #2

I'm interested if @antirez has thought of extending the (admittedly fun) redis api to a disk-backed version for when you don't need the performance of in-memory, but appreciate the simplicity of the redis api. Maybe be able to assign a specific DB number to disk? I realize that might be kitchen sinking Redis more than he intends, but it might be worth it.

I assume Instagram was a serious user of Redis. If you can switch from Redis to Cassandra in a matter of days, even after presumably years of Redis-usage being ground in your code base (because no matter how much you try to abstract out your fundamental data store, it always comes poking out in your architecture), it's probably not useful for Redis to try to out-Cassandra Cassandra. Let Redis be the best Redis it can…

We are still a very serious user of Redis, and I agree with this. Redis works well as a persisted networked heap, which very different from a database. IMHO Redis would have to trade off a lot of it's value to become a "real database."

Re: Instagram: Making the Switch to Cassandra from Redis

#13
post #2

I'm interested if @antirez has thought of extending the (admittedly fun) redis api to a disk-backed version for when you don't need the performance of in-memory, but appreciate the simplicity of the redis api. Maybe be able to assign a specific DB number to disk? I realize that might be kitchen sinking Redis more than he intends, but it might be worth it.

You might be interested in this:

http://www.anchor.com.au/blog/2013/04/redis-rethought-exciti...;

Re: Instagram: Making the Switch to Cassandra from Redis

#14
post #9

Just to be clear -- this doesn't mean we have eliminated Redis. It's still a very useful tool.

I think that's a very important point. It's not saying that X is better than Y, it's just for these particular use cases, one tool is better suited than the other tool because of which problems they were designed to tackle.

Awesome interview and kudos to whoever recommended the switch, that's a ton of savings you guys made!

Re: Instagram: Making the Switch to Cassandra from Redis

#15
post #2

I'm interested if @antirez has thought of extending the (admittedly fun) redis api to a disk-backed version for when you don't need the performance of in-memory, but appreciate the simplicity of the redis api. Maybe be able to assign a specific DB number to disk? I realize that might be kitchen sinking Redis more than he intends, but it might be worth it.

I've been working on a server that implements the Redis protocol and stores the data in LevelDB: https://github.com/cupcake/setdb

Re: Instagram: Making the Switch to Cassandra from Redis

#16
post #2

I'm interested if @antirez has thought of extending the (admittedly fun) redis api to a disk-backed version for when you don't need the performance of in-memory, but appreciate the simplicity of the redis api. Maybe be able to assign a specific DB number to disk? I realize that might be kitchen sinking Redis more than he intends, but it might be worth it.

[deleted]

Re: Instagram: Making the Switch to Cassandra from Redis

#18
I think that here the approach is very wise: every time you have a problem involving a big amount of data, Redis may be costly, since it stores data in memory. Sometimes this is unavoidable, for instance I may see Twitter switching from Redis to another in-memory store to cache timelines, but hardly to something using disk. So it is very legit to say, I'm running a number of hosts since my memory requirements are high, let's try a cheaper on disk solution.

However that said it is also true that memory starts to be seriously cheap, and the real limit may be to run stuff on EC2 or similar platforms.

So sometimes the cost of RAM is a virtual cost associated with the platform you are running your services in, compared to the actual cost of that amount of memory.

Re: Instagram: Making the Switch to Cassandra from Redis

#19
post #2

I'm interested if @antirez has thought of extending the (admittedly fun) redis api to a disk-backed version for when you don't need the performance of in-memory, but appreciate the simplicity of the redis api. Maybe be able to assign a specific DB number to disk? I realize that might be kitchen sinking Redis more than he intends, but it might be worth it.

http://github.com/inaka/edis is here now for that purpose

Re: Instagram: Making the Switch to Cassandra from Redis

#20

The article compares Redis to Cassandra which means comparing apples to oranges for their use case. It would have been meaningful if they explained why they chose Casssandra, instead of for example Hbase.

I was thinking the same thing.

"We are very happy with the hammer we are currently using. Previously, we were using pliers to hammer nails and we saw that it wasn't very efficient."

Post reply on HN