存储图像:MongoDb与文件系统

时间:2013-05-09 13:36:24

标签: mongodb filesystems

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

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

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

非常感谢,

2 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:2)

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