gpt4 book ai didi

mongodb - 对MongoDB gridfs的优势感到困惑

转载 作者:可可西里 更新时间:2023-11-01 09:34:51 26 4
gpt4 key购买 nike

MongoDB gridfs 说最大的优势是将大文件拆分成 block ,如果您只想查看文件的一部分,则不必将整个文件加载到内存中。但我的困惑是,即使我从本地磁盘打开一个大文件,我也只能使用 skip() API 来加载我想要的文件的一部分。我根本不需要加载整个文件。那么 MongoDB 怎么会说这是优势呢?

最佳答案

即使 cursor.skip() 方法不返回整个文件,它也必须将其加载到内存中。它要求服务器从集合或索引的开头开始返回结果之前获取偏移或跳过位置(当集合较小时影响不大)。随着偏移量的增加,cursor.skip() 将变得更慢并且占用更多 CPU。对于更大的集合,cursor.skip() 可能会受 IO 限制。

但是,GridFS 不是将文件存储在单个文档中,而是将文件分成多个部分或 block ,并将每个 block 存储为一个单独的文档。因此,允许用户从文件的任意部分访问信息,例如“跳”到文件的中间(使用 id 或文件名)而不需要 CPU 密集型。

官方文档:1. Skip2. GridFS .

更新:

关于什么Peter Brittain建议:

在文件系统和 GridFS 之间进行选择时,需要考虑很多事情(基础设施、假定的使用统计信息、文件大小等)。

例如:如果你有数百万个文件,GridFS 倾向于处理得更好,你还需要考虑文件系统的限制比如文件/目录的最大数量等。

您可能需要考虑阅读这篇文章: Why use GridFS over ordinary Filesystem Storage?

关于mongodb - 对MongoDB gridfs的优势感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39190341/

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