代码之家  ›  专栏  ›  技术社区  ›  Brian M. Hunt

NoSQL数据库和许多半大blob

  •  4
  • Brian M. Hunt  · 技术社区  · 14 年前

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

    一些比数据库更简单的东西,例如一个分布式的键值系统,可能会很好,我也会欣赏沿着这种脉络的任何想法。

    谢谢你的阅读。

    布瑞恩

    3 回复  |  直到 14 年前
        1
  •  2
  •   Addys    14 年前

    如果您的API需求纯粹是沿着“get(key)、put(key、blob)、remove(key)”这一行,那么键值存储(或者更准确地说是“持久分布式哈希表”)正是您要查找的。

    有相当多的这些可用的,但如果没有额外的信息,很难做出一个可靠的建议-你的目标是什么操作系统?您使用哪种语言进行开发?您的应用程序的I/O特性是什么(冷/不可变数据,如图像)?高写负载又称tweets?)

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

    您还可能希望查看文档存储,例如 CouchDB RavenDB *文档存储与Kv存储类似,但它们理解持久性格式(通常是JSON),因此它们可以提供额外的服务,如索引。

    • 如果您正在.NET中开发,那么直接跳到RavenDB(稍后会感谢我)
        2
  •  1
  •   Leniel Maccaferri    14 年前

    怎么样 Jackrabbit ?

    阿帕奇兔是个十足的 合规执行 Java技术的内容库 API(JCR,在JSR 170和 283)。

    内容存储库是一个层次结构 支持的内容存储 结构化和非结构化内容, 全文搜索、版本控制, 事务、观察等等。

    我在Liferay CMS工作时认识jackrabbit。Liferay使用jackrabbit实现其 Document Library . 它将用户文件存储在服务器的文件系统中。

        3
  •  1
  •   Gates VP    14 年前

    你还想看看 Riak . RIAK非常专注于做你要求的事情(只需添加节点,易于访问)。

    推荐文章