java - 帮我选择一个键/值存储

标签 java nosql key-value

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

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

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

最佳答案

我有两个答案:

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

关于java - 帮我选择一个键/值存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4466479/

相关文章:

postgresql - 内存存储非常简单

mongodb - 有什么理由不使用 OrientDB 吗?

sql - 图形数据库(如 Neo4j)什么时候不好用?

java - 应该包含/导入什么来识别我的 Spark -java 代码中的 "$"操作 join 函数?

java - 将新行添加到 StringJoiner 的底部

jquery - 使用 jQuery 获取组合框的选定键/值

c++ - 使用冒泡排序 C++ 进行哈希表排序

mysql - 为什么这个 "Mysql"查询偶尔会挂起一次?

java - 如何在格式化 double 时删除数字

java - Eclipse android项目不生成jar