帮我选择一个键/值存储
我讨厌要求别人为我做研究,但也许有一个善良的人立刻就知道答案:
我需要一个具有以下特征的键/值存储:
- 分布式
- 可以按升序迭代键。
- 可以根据部分键(前缀)匹配找到键。
- 值可以是最多 1 或 2 mb 的 blob。
- 可从 Java 访问。
- 设置规则的某种方法,以便我可以控制密钥如何在计算机之间分发,也就是说,我希望有一个规则,即具有公共前缀的密钥保留在一台计算机上。
- 查询系统的方式找出哪台机器有钥匙。
- 对复制和冗余的一些支持。
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:
- Distributed
- Can iterate over keys in ascending sequence.
- Can find key based on partial key (prefix) match.
- Values can be blobs up to a mb or two.
- Accessible from Java.
- 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.
- Way to query the system to find out which machine has a key.
- Some support for replication and redundancy.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我有两个答案给你:
I have two answers for you:
我不确定它是否满足您的所有要求,但是您查看过 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.