Redis vs Cassandra(Bigtable数据模型)

时间:2012-09-27 09:05:32

标签: nosql redis cassandra bigtable

假设我需要集中进行以下操作:
put(key, value)
其中value是<列名,列值>的映射 我不知道NoSQL很长时间,我所知道的是Cassandra插入(符合Bigtable论文中定义的api)和Redis“HSET”命令都可以做到。但这两种方式的优点和缺点是什么?那里有任何性能和可扩展性差异吗?

编辑:

我的要求类似于IM服务器---我需要存储会话数据,我希望所有这些都在内存中,以便轻松实现低延迟。会议持续最多2个小时。尚未考虑一致性要求。磁盘仅用于故障转移。丢失的数据并不可怕。我只需要更低的延迟。每秒操作---越多越好。

1 个答案:

答案 0 :(得分:14)

redis和cassandra都可以用作键值存储。不同之处在于速度,规模和可靠性。

Redis最适合作为单个服务器,整个数据集都驻留在内存中。

Cassandra可以处理不适合内存的数据集,以及不适合单台机器的数据集。作为分布在多台机器上的一部分,cassandra更加可靠。 Cassandra可以处理机器故障,重建机器,在需要时为集群增加容量。

因为redis完全在内存中,并且读取/写入由单个机器提供(单个cassandra写入通常与多台机器通信),redis很可能会更快。

如果您的主要目标是速度,并且您不需要可靠地存储数据,并且您的数据集适合内存,则redis可能是更好的解决方案。