Thank you for confirming what I wrote above. Considering they've given up on "D", which is associated with the biggest performance penalty, Redis is darn slow.
Redis is pretty fast, actually. I know you might not think so, but in my experience, it's pretty fast. The only other datastore that I have used with comparable latency and lots of data is Spanner (the internal version at Google) and the hardware requirements for it are... prohibitive.
The goal of Redis is to share simple data structures across the network, not to compete with a full-fat database.
Spanner, of course, is out of the question. I like it, but it's so expensive that even Oracle Database looks cheap next to it.
You might find it interesting that a single-node general-purpose RDBMS with SQL 8 years ago was capable of doing 1.2 million simple transactions per second, in this scenario I suppose they were not durable, just like Redis. I haven't read anywhere about Redis being able to get near that number, therefore I still call it slow.
This comes across as the author not understanding that traditional RDBMS also cache items in memory.
Can Redis beat Postgres or MySQL? Probably, but not by much if the data is cached by the latter. People are often surprised that the latter can return data in microseconds if the queries and schema are properly designed.
Worse, they don’t design their RDBMS properly, and rely solely on a Redis layer for speed. Then, when Redis crashes, is upgraded, etc. their DB falls over because – surprise – they also didn’t properly design their app or DB to handle a thundering herd.
How actually do Redis work and various Redis deployments and their trade-offs.
[...]
But you might think how Redis is so fast ryt ?
[...]
let's discuss the various Redis deployments and their trade-offs.
Keep reading with a 7-day free trial.
It really pisses me off to see Redis described as a caching system. Yes it's good for caching, but it can do far more than just that. E.g the blocking list operations can be used to make lightweight ad-hoc communication channels - I'm using this in a project just now. Loadable Lua functions mean you can embed significant application logic in Redis - I've not used this yet but I intend to soon.
10 comments
[ 3.2 ms ] story [ 30.4 ms ] threadYou’re walking to a café, but then you take instant coffee from your pantry? What?
Lack of strict ACID properties. This is the thing that majority of software coders have no idea about.
Every data store in the world bragging about its performance gives up on some aspects of one or more of A, C, I, D.
I wouldn't trust any serious finance or warehouse operations on anything but relational database management system, preferably with SQL.
It's not isolated because it doesn't need to be: concurrent transactions are serializable, due to the DB being single-threaded.
And it's not durable, but _that's what it says on the tin_: Redis is an in-memory database.
The goal of Redis is to share simple data structures across the network, not to compete with a full-fat database.
You might find it interesting that a single-node general-purpose RDBMS with SQL 8 years ago was capable of doing 1.2 million simple transactions per second, in this scenario I suppose they were not durable, just like Redis. I haven't read anywhere about Redis being able to get near that number, therefore I still call it slow.
https://techcommunity.microsoft.com/t5/sql-server-blog/how-b...
Can Redis beat Postgres or MySQL? Probably, but not by much if the data is cached by the latter. People are often surprised that the latter can return data in microseconds if the queries and schema are properly designed.
Worse, they don’t design their RDBMS properly, and rely solely on a Redis layer for speed. Then, when Redis crashes, is upgraded, etc. their DB falls over because – surprise – they also didn’t properly design their app or DB to handle a thundering herd.