我想在我的新项目中使用 mongodb。问题是,mongo 使用预分配文件:
每个数据文件都预先分配给特定的大小。(这样做是为了防止文件系统碎片,以及其他原因。)数据库的第一个文件名是 .0,然后是 .1,等等。.0 将是 64MB,.1 128MB 等等,最多 2GB。一旦文件大小达到 2GB,每个连续的文件也是 2GB。因此,如果存在的最后一个数据文件是 1GB,那么如果它是最近创建的,那么该文件可能 90% 是空的。
从这里:http ://www.mongodb.org/display/DOCS/Excessive+Disk+Space
有很多 2GB 的文件,里面什么都没有,这很正常。有一个 --smallfiles 开关,将此文件限制为 512MB
--smallfiles => 使用较小的初始文件大小 (16MB) 和最大大小 (512MB)
我想知道使用小文件对生产有好处吗?以及它的缺点是什么。
没有 noprealloc 开关,但它在生产中并不好。但没有关于小文件的说明。