【发布时间】:2015-02-05 04:55:21
【问题描述】:
我们正在使用 MongoDB。在我们的应用程序中,我们需要为每个用户存储多个文件。我们的应用程序将部署在 AWS 上。我正在考虑使用以下选项之一来存储文件-
- 将文件存储在 MongoDB 本身中。我知道 MongoDB 的最大文档大小限制为 16 MB,但很可能我们的文件不会超出此范围。
- 使用 MongoDB 的 GridFS 来存储文件。
- 使用 Amazon S3 存储文件,指向这些文件的链接将存储在 MongoDB 中。
- 在 AWS 上使用本地文件系统/EBS 卷。
以上哪种方法更好?在性能方面,可扩展性? 哪种方法更具可扩展性?我还想使用 CDN 来缓存文件。 我的首选是 AWS S3,因为我可以使用 CDN 来缓存文件,我的文件存储将与数据库无关。此外,当我将文件存储在数据库之外时,我的数据库大小也不会显着增长。
【问题讨论】:
标签: mongodb