NoSQL数据库和许多半大blob

时间:2010-10-25 01:15:01

标签: nosql scalability blob key-value-store

是否存在适用于存储大量(即> 10亿)“中等”斑点(即20 KB至2 MB)的NoSQL(或其他类型)数据库。我需要的是从A(标识符)到B(blob)的映射,给定A的“B”检索能力,用于访问的一致外部API,以及“只需添加另一台计算机”来扩展系统的能力

比数据库简单的东西,例如一个分布式的键值系统,可能就好了,我也很欣赏这方面的任何想法。

感谢您的阅读。

布赖恩

3 个答案:

答案 0 :(得分:2)

如果您的API要求纯粹是“Get(key),Put(key,blob),Remove(key)”,那么键值存储(或更准确地说是“持久性分布式哈希表”)是正是你在寻找什么。

其中有相当多的可用,但没有其他信息,很难做出明确的建议 - 你的目标是什么操作系统?您正在开发哪种语言?您的应用程序的I / O特性是什么(冷/不可变数据,如图像?高写入负载,也就是推文?)

一些值得研究的KV系统: - MemcacheDB - Berkeley DB - Voldemort

您可能还想查看文档商店,例如CouchDBRavenDB *。文档存储类似于KV存储,但它们理解持久性格式(通常是JSON),因此它们可以提供其他服务,例如索引。

  • 如果您正在开发.Net,请直接跳到RavenDB(稍后再次感谢我)

答案 1 :(得分:1)

Jackrabbit怎么办?

  

Apache Jackrabbit™是一个完整的   符合实施   Java技术的内容存储库   API(JCR,在JSR 170和JS中指定)   283)。

     

内容存储库是分层的   内容商店,支持   结构化和非结构化内容,   全文检索,版本控制,   交易,观察等。

当我与Liferay CMS合作时,我认识了Jackrabbit。 Liferay使用Jackrabbit来实现其Document Library。它将用户文件存储在服务器的文件系统中。

答案 2 :(得分:1)

您还需要查看Riak。 Riak非常专注于完全按照您的要求进行操作(只需添加节点,便于访问)。