Ruby和Java的键值存储

Mla*_*vić 4 nosql key-value-store

我需要一个键值存储的建议.这是我的标准:

  1. 不必持久但需要支持大量记录(记录很小,100-1000字节)
  2. Insert(put)只会偶尔发生,总是在大型数据集中(批量)
  3. Get 将是随机的,需要快速
  4. 客户端将使用Ruby,也许是Java
  5. 它应该相对容易设置并且尽可能少地进行维护

Jef*_*ter 6

Redis听起来像是在这里使用的正确的东西.它全部在内存中,所以它非常快(GETSET操作都是O(1))并且它支持RubyJava客户端.

  • 我们现在成功使用Redis.崩溃是由于32位版本的~3GB内存限制,转移到64位解决了这个问题. (2认同)

Ank*_*ary 5

由于以下原因,Aerospike将是一个完美的:

  1. 基于Java和Ruby的客户端的键值.
  2. 吞吐量:优于Redis/Mongo/Couchbase或任何其他NoSQL解决方案.请参阅http://www.aerospike.com/blog/use-1-aerospike-server-not-12-redis-shards/.亲自看到它可以正常工作,同时有超过300k读取TPS和100k写入TPS.
  3. 使用RIPEMD160自动高效地进行数据分片,数据重新平衡和数据分发.
  4. 故障转移和/或网络分区时高度可用的系统.
  5. 开源于3.0版本.
  6. 可以在没有持久性的缓存模式下使用.
  7. 支持LRU和TTL.
  8. 很少或没有维护.