Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我应该将映像存储在MongoDB还是本地文件系统中(按Node.js)_Node.js_Mongodb_Filesystems_Scalability - Fatal编程技术网

我应该将映像存储在MongoDB还是本地文件系统中(按Node.js)

我应该将映像存储在MongoDB还是本地文件系统中(按Node.js),node.js,mongodb,filesystems,scalability,Node.js,Mongodb,Filesystems,Scalability,我在项目中使用Node.js 我应该将映像存储在本地文件系统中,还是应该将其存储在MongoDB中 哪种方式更具可扩展性?我会使用GridFS来利用分片,但为了获得最佳性能,我会将文件系统与nginx结合使用。最具可扩展性的解决方案是使用共享存储服务,如Amazon的S3(或自己制作) 当您决定将计算机添加到应用程序层时,这使您能够更轻松地进行水平扩展,因为您不必担心任何迁移噩梦 这背后的基本思想是保持存储层与应用层的解耦。因此,使用这个想法,您可以在单独的机器上创建一个node.js进程,该进

我在项目中使用Node.js

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


哪种方式更具可扩展性?

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

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

当您决定将计算机添加到应用程序层时,这使您能够更轻松地进行水平扩展,因为您不必担心任何迁移噩梦


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

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

您可以在此博客中找到性能比较:

实际上,您可以在这里找到推荐的MongoDB GridFS用例:

OP没有要求提供有关亚马逊的广告。从长远来看,MongoDB的可扩展性只相当于向亚马逊支付费用的一小部分。但问题是关于MongoDB和文件系统。