我们正在使用MongoDB.在我们的应用中,我们需要为每个用户存储多个文件.我们的应用程序将部署在AWS上.我正在考虑使用以下选项之一来存储文件 -
以上哪种方法更好?在性能,可扩展性方面?哪种方法更具可扩展性?我还想使用CDN来缓存文件.我的首选是AWS S3,因为我可以使用CDN来缓存文件,我的文件存储将与数据库无关.此外,由于我将文件存储在数据库外部,因此我的数据库大小不会显着增长.
我认为这里最好的选择是GridFS和S3; 我自己会和后者一起去.将文件推送到S3,然后将存储桶名称和文件密钥存储在Mongo文档中.除非您的业务或查询要求所有数据必须存在于文档中,否则我认为这是最好的方法.
我在生产中使用了这种解决方案,它很容易扩展.对Mongo集合的影响很小,您不必担心在那里存储大量数据.只需存储密钥,让S3处理所有这些.由于您的系统与存储无关,因此您可以随后将它们存储在其他位置.
| 归档时间: |
|
| 查看次数: |
4662 次 |
| 最近记录: |