gpt4 book ai didi

MongoDB-将文件存储在数据库中还是外部存储中?

转载 作者:行者123 更新时间:2023-12-03 16:07:53 31 4
gpt4 key购买 nike

我们正在使用MongoDB。在我们的应用程序中,我们需要为每个用户存储多个文件。我们的应用程序将部署在AWS上。我当时正在考虑使用以下选项之一来存储文件-

  • 将文件存储在MongoDB本身中。我知道MongoDB的最大文档大小限制为16 MB,但很可能我们的文件不会超出该限制。
  • 使用MongoDB的GridFS来存储文件。
  • 使用Amazon S3存储文件,这些文件的链接将存储在MongoDB中。
  • 在AWS上使用本地文件系统/EBS卷。

  • 以上哪种方法更好?在性能方面,可扩展性?
    哪种方法更具可扩展性?我也想使用CDN来缓存文件。
    我更喜欢AWS S3,因为我可以使用CDN来缓存文件,所以我对文件的存储将与数据库无关。另外,当我将文件存储在数据库外部时,数据库的大小不会显着增加。

    最佳答案

    我认为最好的选择是GridFS和S3。我本人会和后者一起去的。将文件推送到S3,然后将存储区名称和文件 key 存储在Mongo文档中。除非您的业务或查询要求必须在文档中包含所有数据,否则我认为这是最好的方法。

    我已经在生产中使用了该解决方案,并且可以轻松扩展。对您的Mongo集合的影响很小,您不必担心在那里存储大量数据。只需存储 key ,然后让S3负责所有这些工作即可。由于您的系统与存储完全无关,因此您以后随时可以将它们存储在其他位置。

    关于MongoDB-将文件存储在数据库中还是外部存储中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28336486/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com