3
GridF的默認塊大小爲256 kb,但是如果我存儲了很多小的6 kb文件,那麼是否會產生250 KB的保留開銷但未使用的光盤空間pr文件,或者GridFs將小文件打包在同一塊中? (我知道元數據有一些額外的開銷)。使用官方C#驅動程序存儲小文件時,MongoDb網格中的塊開銷
GridF的默認塊大小爲256 kb,但是如果我存儲了很多小的6 kb文件,那麼是否會產生250 KB的保留開銷但未使用的光盤空間pr文件,或者GridFs將小文件打包在同一塊中? (我知道元數據有一些額外的開銷)。使用官方C#驅動程序存儲小文件時,MongoDb網格中的塊開銷
在mongodb-user group on Google Groups上詢問並回答了同樣的問題。
GridFS文件的最後一個塊只有它需要的大小,所以不會有太多開銷。
在你的例子中,一個6kb的文件將被存儲爲一個6kb的塊(加上元數據)。
但是,爲什麼mongo shell顯示chunksize 262144的文件爲15.2 kb? : > db.fs.files.find()相當() { 「_id」:的ObjectId( 「4f7aea4d8f0ddc187c435718」), 「文件名」:爲 「Logo.png」, 「長度」:15624, 「 CHUNKSIZE」:262144, 「uploadDate」:ISODate( 「2012-04-03T12:17:17.196Z」), 「MD5」: 「5b1a277095f6535c9f7353c3a3d320f0」 } – ssn 2012-04-03 12:31:41
因爲那個時候這個文件被上傳的是使用的塊大小。如果你真的去了,看着這個唯一的塊,你會發現它的大小是15.2KB。 – 2012-04-10 15:00:35