是否存在适用于存储大量(即> 10亿)“中等”斑点(即20 KB至2 MB)的NoSQL(或其他类型)数据库。我需要的是从A(标识符)到B(blob)的映射,给定A的“B”检索能力,用于访问的一致外部API,以及“只需添加另一台计算机”来扩展系统的能力
比数据库简单的东西,例如一个分布式的键值系统,可能就好了,我也很欣赏这方面的任何想法。
感谢您的阅读。
布赖恩
答案 0 :(得分:2)
如果您的API要求纯粹是“Get(key),Put(key,blob),Remove(key)”,那么键值存储(或更准确地说是“持久性分布式哈希表”)是正是你在寻找什么。
其中有相当多的可用,但没有其他信息,很难做出明确的建议 - 你的目标是什么操作系统?您正在开发哪种语言?您的应用程序的I / O特性是什么(冷/不可变数据,如图像?高写入负载,也就是推文?)
一些值得研究的KV系统: - MemcacheDB - Berkeley DB - Voldemort
您可能还想查看文档商店,例如CouchDB或RavenDB *。文档存储类似于KV存储,但它们理解持久性格式(通常是JSON),因此它们可以提供其他服务,例如索引。
答案 1 :(得分:1)
Jackrabbit怎么办?
Apache Jackrabbit™是一个完整的 符合实施 Java技术的内容存储库 API(JCR,在JSR 170和JS中指定) 283)。
内容存储库是分层的 内容商店,支持 结构化和非结构化内容, 全文检索,版本控制, 交易,观察等。
当我与Liferay CMS合作时,我认识了Jackrabbit。 Liferay使用Jackrabbit来实现其Document Library。它将用户文件存储在服务器的文件系统中。
答案 2 :(得分:1)
您还需要查看Riak。 Riak非常专注于完全按照您的要求进行操作(只需添加节点,便于访问)。