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

问题描述 投票:6回答:3

我将Node.js用于我的项目。

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

哪种方式更具可扩展性?

node.js mongodb filesystems scalability
3个回答
6
投票

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

当您决定将机器添加到应用程序层时,这使您可以更容易地水平扩展,因为您不必担心任何迁移噩梦。

这背后的基本思想是保持存储层与应用层分离。因此,使用此想法,您可以在单独的计算机上创建node.js进程,该计算机接受文件上载,然后将其写入磁盘。


3
投票

如果您正在设计性能敏感系统,请毫无疑问使用文件系统来存储您的图像。

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

实际上,您可以在这里找到推荐的MongoDB GridFS用例:https://docs.mongodb.com/manual/core/gridfs/#when-to-use-gridfs


2
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.