[英]Need a distributed key-value lookup system
我需要一种方法来跨越(可能)数百GB的数据进行键值查找。 理想情况下基于分布式散列表的东西,与Java很好地协同工作。 它应该是容错的,并且是开源的。
商店应该是持久的,但理想情况下会将数据缓存在内存中以加快速度。
它应该能够支持来自多台机器的并发读写(尽管读取将是100倍更常见)。 基本上,目的是快速初始查找Web服务的用户元数据。
谁能推荐任何东西?
你可能想看看Hazelcast 。 它是分布式/分区的,超级精简,简单而且免费。
java.util.Map map = Hazelcast.getMap ("mymap");
map.put ("key1", "value1");
问候,
-talip
Open Chord是Java中CHORD协议的实现。 它是一个分布式哈希表协议,可以完美地满足您的需求。
根据用例, Terracotta可能正是您所需要的。
您可能应该指定它是否需要持久性,内存与否等等。您可以尝试: http : //www.danga.com/memcached/
分布式哈希表包括Tapestry,Chord和Pastry。 其中一个应该适合您的需求。
OpenChord听起来很有希望; 但我也会考虑BDB或任何其他非SQL哈希表,使其分布式变得非常容易(如果存储节点的数量至少是(几乎)不变的话),只需在客户端上散列密钥即可获得适当的服务器。
DNS有能力做到这一点,我不知道你的每条记录有多大(8GB吨的小数据?),但它可能有效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.