Live data from Hacker News

The Redis criticism thread

antirez.com

41–47 of 47 posts

Re: The Redis criticism thread

#41
post #39

Quick things 1) I expected that thread to look like a Cultural Revolution struggle session". Thankfully it wasn't. 2) As I am sure many others have already said it, durability has very little to do with CAP. CAP is about the A and I in in ACID, D is an orthogonal concern. 3) Durability doesn't necessarily mean losing high performance. Most databases let the user choose how much data they're willing to lose and for wh…

Hello strlen, thanks for the interesting reply.

While CAP and durability are orthogonal they are very related in actual systems, I don't think it is ok for a system like Redis to assume that users have multi DC replication and/or other infrastructure preventing mass reboots of small clusters composed of a few nodes. Also note that the more nodes in a distributed system are "decoupled" from the point of view of failures (different physical networks / equipment, different datacenter), the more you are likely adding latency.

But the point in the discussion was never that, since synchronous replication by default is already, exactly as you express in your message, not the Redis business, so fsync or not, Redis Cluster is not going to feature "C". WAIT and its semantics ended taking all the attention, because you know, if your work is to show "C" is violated, you tend to focus there, regardless of the system analyzed not claiming to be consistent.

As for Redis Cluster, many places where Redis is used in the right way, in the environments you say people are happy with Redis, would benefit from the automatic sharding and the operational simplicity that Redis Cluster can provide to Redis, this is why Redis Cluster is IMHO a good milestone in the roadmap.

Re: The Redis criticism thread

#42
post #12
post #10

Earlier quoted context omitted.

For three years we've been using it as message bus, statistics tracker, and storing medium-term data (expires after 1 month). We've up/downgraded multiple times without issue.

>>We've up/downgraded multiple times without issue. Why would you need to downgrade if you didn't have issues? ;) ...kinda joking, kinda honest curiosity.

Sorry, I meant up/downgraded the server. We stopped upgrading software at Redis 2.6 :)

Re: The Redis criticism thread

#43
post #35

Earlier quoted context omitted.

Redis people think it could be used instead of SQL for some designs: http://redis.io/topics/twitter-clone I want to use it in a small project so I can learn the design patterns associated with key-value stores. I'm sure there are good and bad things about using Redis vs Postgres. But it has to hold my data, so... does it hold my data or not? I'm talking about single box stuff here, of course. (Of course, I'll just us…

That's supposed to showcase redis' features, not to tell you that you should dump Postgres for redis.

Which is a mistake a lot of developers make - trying to replace one data store for another wholesale, and then being surprised when problems arise.

Re: The Redis criticism thread

#44
post #41
post #39

Quick things 1) I expected that thread to look like a Cultural Revolution struggle session". Thankfully it wasn't. 2) As I am sure many others have already said it, durability has very little to do with CAP. CAP is about the A and I in in ACID, D is an orthogonal concern. 3) Durability doesn't necessarily mean losing high performance. Most databases let the user choose how much data they're willing to lose and for wh…

Hello strlen, thanks for the interesting reply. While CAP and durability are orthogonal they are very related in actual systems, I don't think it is ok for a system like Redis to assume that users have multi DC replication and/or other infrastructure preventing mass reboots of small clusters composed of a few nodes. Also note that the more nodes in a distributed system are "decoupled" from the point of view of failur…

[deleted]

Re: The Redis criticism thread

#45
post #33
post #22

Earlier quoted context omitted.

Agreed. If Redis is an acceptable alternative to MongoDB you're using one of the two very incorrectly.

Use case: I want to store some json values against some string keys. Which would be very incorrect to use for this?

How often are you updating the json values? 10/s? 100/s? 1M/s?

How many string keys? Millions? Billions? What happens if you lose an update?

Redis great for lots of rapid reads and moderate write speed for data that fits on a single server or can be manually sharded well (if it's straight k=>v, as you describe, that basically means your json fits in RAM; if you're using larger objects like sets/zsets/etc, it becomes a slightly different discussion), as long as your application can lose a few seconds without killing you (BGSAVE isn't instantaneous, of course).

Re: The Redis criticism thread

#46
post #27

Earlier quoted context omitted.

He is using known algorithms. He describes them here: https://news.ycombinator.com/item?id=6780342 .

see Aphyr's comments here: https://groups.google.com/d/msg/redis-db/Oazt2k7Lzz4/q9YDD7D...

Thanks, I hadn't seen this

Re: The Redis criticism thread

#47
post #35

Earlier quoted context omitted.

Redis people think it could be used instead of SQL for some designs: http://redis.io/topics/twitter-clone I want to use it in a small project so I can learn the design patterns associated with key-value stores. I'm sure there are good and bad things about using Redis vs Postgres. But it has to hold my data, so... does it hold my data or not? I'm talking about single box stuff here, of course. (Of course, I'll just us…

That's supposed to showcase redis' features, not to tell you that you should dump Postgres for redis.

But why not?

Is all data in a database that important? Maybe alternative databses would generate new webapp patterns, like dynamic languages do.

Post reply on HN