【问题标题】:Chunk overhead in the MongoDb gridfs when using the official C# driver to store small files使用官方 C# 驱动程序存储小文件时 MongoDb gridfs 中的块开销
【发布时间】:2012-03-31 07:42:37
【问题描述】:

GridFs 的默认块大小为 256 kb,但如果我存储大量 6 kb 的小文件,我是否会产生 250 kb 的预留但未使用的磁盘空间 pr 文件的开销,或者 GridFs 会将小文件打包在同一个块中? (我知道元数据有一些额外的开销)。

【问题讨论】:

    标签: mongodb mongodb-.net-driver gridfs


    【解决方案1】:

    mongodb-user group on Google Groups 上提出并回答了同样的问题。

    GridFS 文件的最后一块只有它需要的大小,所以不会有太多开销。

    在您的示例中,6kb 文件将存储为单个 6kb 块(加上元数据)。

    【讨论】:

    • 但是 mongo shell 怎么会显示一个 15,2 kb 的文件的 chunksize 262144 呢? : > db.fs.files.find().pretty() { "_id" : ObjectId("4f7aea4d8f0ddc187c435718"), "filename" : "logo.png", "length" : 15624, "chunkSize" : 262144, " uploadDate" : ISODate("2012-04-03T12:17:17.196Z"), "md5" : "5b1a277095f6535c9f7353c3a3d320f0" }
    • 因为这是上传此文件时使用的块大小。如果你真的去查看唯一的一个块,你会发现它的大小是 15.2KB。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-21
    • 1970-01-01
    • 1970-01-01
    • 2020-03-27
    • 1970-01-01
    相关资源
    最近更新 更多