是否有适合存储大量(即 >10 亿)“中型”blob(即 20 KB 到 2 MB)的 NoSQL(或其他类型)数据库。我所需要的只是从 A(标识符)到 B(blob)的映射、给定 A 检索“B”的能力、用于访问的一致外部 API 以及“只需添加另一台计算机”以扩展系统的能力.
比数据库更简单的东西,例如分布式键值系统,可能会很好,我也很感激任何沿着这种思路的想法。
感谢您的阅读。
布赖恩
是否有适合存储大量(即 >10 亿)“中型”blob(即 20 KB 到 2 MB)的 NoSQL(或其他类型)数据库。我所需要的只是从 A(标识符)到 B(blob)的映射、给定 A 检索“B”的能力、用于访问的一致外部 API 以及“只需添加另一台计算机”以扩展系统的能力.
比数据库更简单的东西,例如分布式键值系统,可能会很好,我也很感激任何沿着这种思路的想法。
感谢您的阅读。
布赖恩
如果您的 API 要求完全符合“Get(key)、Put(key,blob)、Remove(key)”,那么键值存储(或更准确地说是“持久分布式哈希表”)正是您所需要的正在找。
其中有很多可用的,但如果没有额外的信息,很难做出可靠的推荐——你的目标是什么操作系统?您正在使用哪种语言进行开发?您的应用程序的 I/O 特征是什么(冷数据/不可变数据,例如图像?高写入负载又称为推文?)
一些值得研究的 KV 系统: - MemcacheDB - Berkeley DB - Voldemort
您可能还想查看文档存储,例如CouchDB或RavenDB *。文档存储类似于 KV 存储,但它们了解持久性格式(通常是 JSON),因此它们可以提供额外的服务,例如索引。
您还想看看Riak。Riak 非常专注于完全按照您的要求进行操作(只需添加节点,易于访问)。