Radish vs Cassandra (Bigtable Data Model)

Suppose you need to intensively perform the following operations:
put(key, value)
where the value is a map of the name <column, column value>. I have not known NoSQL for a long time, I know that both the Cassandra insert (which corresponds to the api defined in Bigtable) and the Redis "HSET" command can do this. But what are the pros and cons of both ways? Is there a difference in performance and scalability?

EDIT:

My requirement is something like an IM server. I need to store session data, and I want all of them to be in memory so that low latency can be easily achieved. The meeting lasts no more than 2 hours. No approval required. And the drive is just for failure. Data loss is not terrible. All I need is lower latency. Operations per second - the more the better.

+4
source share
1 answer

Both redis and cassandra can be used as a keystore. The difference is speed, scale and reliability.

Redis works best as a single server, where the entire data set is in memory.

Cassandra can process datasets that are not suitable in memory, and datasets that are not suitable for one machine. Cassandra is part of a wider distribution on multiple computers. Cassandra can handle machine failures, rebuild machines, while adding cluster capacity.

Since redis is completely in memory, and read / write is served by one machine (a single cassandra record usually talks to several machines), redis is likely to be faster.

If your primary goal is speed, and you don't need to store data reliably, and your data set fits in memory, then redis is probably the best solution.

+14
source

Source: https://habr.com/ru/post/1436555/


All Articles