【问题标题】:Storing Images: MongoDb vs File System存储图像:MongoDb 与文件系统
【发布时间】:2013-05-04 00:12:51
【问题描述】:

我需要存储大量图像(每天大约 10,000 张图像),每张图像的平均大小约为 1 到 10 MB。

我可以使用 GridFS 库将这些图像存储在 MongoDB 中,或者仅将 Base64 转换存储为字符串。

我的问题是,MongoDB 适合这样的负载还是使用文件系统更好?

非常感谢,

【问题讨论】:

  • 好像是this question的副本。
  • 另一种选择是在 mongoDB 中拥有图像的元数据,并将图像本身放在 S3 之类的东西上(+ 可选的云端)

标签: mongodb filesystems


【解决方案1】:

MongoDB GridFS 与普通文件系统相比有很多优势,它绝对能够处理您所描述的数据量,因为您可以使用分片 mongo 集群进行横向扩展。我自己并没有在其中保存那么多二进制数据,但我认为二进制数据和文本之间没有真正的区别。所以:是的,它适用于有效载荷。

【讨论】:

    【解决方案2】:

    使用 GridFS 可以更轻松地对正在保存的文件对象执行查询和操作。此外,GridFS 还满足备份/复制/扩展的需求。但是,使用 Filesystem + Nginx 提供文件比使用 GridFS + Nginx 更快(看这里:https://www.coffeepowered.net/2010/02/17/serving-files-out-of-gridfs/)。然而,当使用分片时,可以利用 GridFS“较慢”的服务速度

    【讨论】:

    • 文件大小小于16MB,他可以用BSON
    猜你喜欢
    • 1970-01-01
    • 2011-07-14
    • 2014-05-04
    • 2012-06-26
    • 2010-09-16
    • 1970-01-01
    • 1970-01-01
    • 2011-01-04
    • 1970-01-01
    相关资源
    最近更新 更多