我正在处理一个项目,其中每个用户可以发布很多图像。我们使用Node.js与Express,MongoDB作为数据库。我想知道在速度和可扩展性方面哪种方式更好:
- 将图像存储在Mongo GridFS中
还是
- 将图像存储在Amazon S3上,并在MongoDB中存储图像路径。然后使用路径检索图像。
欢迎分享任何想法!
谢谢,
我正在处理一个项目,其中每个用户可以发布很多图像。我们使用Node.js与Express,MongoDB作为数据库。我想知道在速度和可扩展性方面哪种方式更好:
还是
欢迎分享任何想法!
谢谢,
这就像比较Go和Node.js一样,没有更好的通用解决方案。
每种解决方案都有其优缺点。MongoDB更像是DIY(自己动手做)的解决方案,而Amazon S3则是托管的解决方案。使用MongoDB时,你需要自己进行扩展。可以说S3最初会更快,并且已经被Amazon扩展过了,而且可能更便宜(S3比EBS更便宜)。如果你拥有大量内存的服务器,MongoDB肯定会更快。此外,如果MongoDB实例与您的应用程序位于同一实例中,则延迟将更低。
还可以查看以下问题:MongoDB作为静态文件提供者?
以及这个:在MongoDB作为数据库后端的产品中,使用MongoDB GridFS与Amazon S3存储资产的优势是什么?