帮我挑选一个钥匙/超值商店

时间:2010-12-16 23:48:10

标签: java nosql key-value

讨厌让别人为我做研究,但也许有一个善良的灵魂从头脑中知道答案:

我需要一个具有以下特征的键/值存储:

  1. 分布式
  2. 可以按升序顺序迭代键。
  3. 可以根据部分密钥(前缀)匹配找到密钥。
  4. 值可以是最多一个或两个。
  5. 可从Java访问。
  6. 设置规则的某种方式,以便我可以控制密钥在计算机之间的分布方式,也就是说,我希望有一个规则,即具有公共前缀的密钥保留在一台计算机上。
  7. 查询系统以找出哪台机器有密钥的方法。
  8. 支持复制和冗余。

2 个答案:

答案 0 :(得分:1)

我有两个答案:

  1. Amazon S3支持所有这些,但显然它在他们的服务器而不是你的服务器上运行。特别是它非常支持前缀查找。
  2. MongoDB支持所有这些。您可以使用正则表达式或$ where进行前缀匹配。请注意索引以获得最佳性能。

答案 1 :(得分:0)

我不确定它是否符合您的所有要求,但您是否看过Hazelcast's distributed maps?自从我查看Hazelcast以来已经有一段时间了,所以我不知道是否有办法知道哪些实例负责给定密钥,或者是为实例分配密钥的方法,但它确实提供了对整个安全并发操作的支持。分布式地图和其他好东西。