帮我选择一个键/值存储

发布于 2024-10-08 16:35:55 字数 313 浏览 2 评论 0原文

我讨厌要求别人为我做研究,但也许有一个善良的人立刻就知道答案:

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

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

Hate to ask others to do my research for me, but perhaps there's a kind soul who knows the answer off the top of his head:

I need a key/value store with the following characteristics:

  1. Distributed
  2. Can iterate over keys in ascending sequence.
  3. Can find key based on partial key (prefix) match.
  4. Values can be blobs up to a mb or two.
  5. Accessible from Java.
  6. Some way to set the rules so I can control how keys are distributed across machines, that is, I'd like to have a rule that keys with a common prefix stay on one machine.
  7. Way to query the system to find out which machine has a key.
  8. Some support for replication and redundancy.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

一人独醉 2024-10-15 16:35:55

我有两个答案给你:

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

I have two answers for you:

  1. Amazon S3 supports all of this, but obviously it runs on their servers and not yours. In particular it supports prefix lookups very well.
  2. MongoDB supports all of this. You can use regexes or $where to do prefix matching. Be careful with the indexes for best performance.
白日梦 2024-10-15 16:35:55

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

I'm not sure it fits all your requirements, but have you looked at Hazelcast's distributed maps? It's been awhile since I looked at Hazelcast so I don't know if there's a way to know which instances are responsible for a given key, or a way to assign keys to instances, but it does provide support for safe concurrent operations across the entire distributed map and other nice things.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文