我应该在MongoDB或本地文件系统(由Node.js)中存储图像

我为我的项目使用Node.js。

我应该将图像存储在本地文件系统中,还是应该将其存储在MongoDB中?

哪种方式更具可扩展性?

最具扩展性的解决scheme是使用诸如亚马逊S3等共享存储服务(或自己制作)。

这使您在决定将机器添加到应用程序层时可以轻松地进行水平扩展,因为您不必担心任何迁移的恶梦。

这背后的基本思想是保持存储层与应用层的分离。 所以使用这个想法,你可以在一台接受file upload的独立机器上创build一个node.js进程,然后把它写入磁盘。

我会使用GridFS来利用分片,但为了获得最佳性能,我将使用nginx的文件系统。

如果你正在devise一个性能敏感的系统,使用文件系统来存储你的图像毫无疑问。

你可以从这个博客find性能比较: http : //blog.thisisfeifan.com/2013/12/mongodb-gridfs-performance-test.html

其实,你可以在这里find推荐的MongoDB GridFS用例: http ://docs.mongodb.org/manual/faq/developers/#faq-developers-when-to-use-gridfs