Redis和Membase之间的主要区别是什么?

时间:2011-02-21 21:41:28

标签: nosql redis membase

Redis和Membase之间的主要区别是什么?

3 个答案:

答案 0 :(得分:11)

<强>可扩展性: Membase提供了一个分布式键/值存储(就像Memcache一样),因此无论数据集有多大,写入和读取都将始终以可预测的恒定时间执行。另一方面,Redis提供主从复制,可以加快读取速度,但不会加快写入速度。

数据冗余 为每个键值对设置具有设定量的复制副本的集群很简单,允许服务器在不丢失数据的情况下对集群中的不起作用节点进行故障转移。但是,Redis的主从复制不提供相同类型的数据冗余。

数据类型: Redis提供了以原子方式处理列表的能力,但是可以使用Membase在应用程序逻辑层中实现类似的功能。

<强>通过: 目前Redis被广泛采用并且比Membase更成熟。 Membase确实有一些引人注目的用例,例如Zynga和他们的一系列社交游戏。

Membase最近与Couchbase合并,他们将拥有一个Membase版本,将在下一个主要版本(计划于2011年初左右)提供CouchDB的Map / Reduce和查询/索引功能。

答案 1 :(得分:8)

Membase是一个巨大的键值存储,具有用于故障转移的持久性和复制。存储在membase中的数据不受“修改”(除了增量)。你得到或设置它。

Redis更像是一个关键数据存储。 Redis允许操作集合,列表,排序列表,散列和一些奇怪的其他数据类型。虽然redis具有复制功能,但它更像是主/从类型的复制。

答案 2 :(得分:6)

我在Manto的回答中添加了一些观点:

  1. Redis内置了事务机制,而membase则没有。基于你的工作,这可能很关键
  2. 主 - 主复制与主 - 从比较有一些缺点:loosy一致(懒惰对象,异步...),与主从相比更复杂(因此增加了一些延迟)。
  3. 当前版本的redis(2.x)不支持群集。您需要手动对数据库进行分片(检查http://antirez.com/post/redis-presharding.html),而membase支持群集开箱即用,并且有一个非常好的监控gui。
  4. (基准可能是**,但人们只是喜欢肮脏的东西)Redis似乎在严重并发的情况下具有轻微的性能优势。 (http://coder.cl/2011/06/concurrency-in-redis-and-memcache/