sql >> データベース >  >> NoSQL >> MongoDB

MongoDB GridFSのファイルサイズは、比較的小さいファイルでは巨大です

    Ok;多くの検索を行った結果、MongoDBは最大2Gbの指数サイズのファイルにスペースを事前に割り当て、その後は各ファイルが2Gになるようです。

    http://www.mongodb.org/display/DOCS/Excessive+Disk +スペース

    私のテストプログラムは、バックグラウンドファイル(.0〜.7など)内に80Mbファイルを追加し、データチャンクが最後のファイルに書き込まれ始めると、Mongoは最後のファイルよりも指数関数的に大きい別のファイルを事前に割り当てます。

    したがって、最初の80Mbファイルは、16Mbファイル、32Mbファイル、および64Mbバックグラウンドファイルをいっぱいにし、メタデータが少し多くのスペースを占有し、128Mbファイルにわずかに侵入する必要があるため、mongoが合計256Mbファイルを事前に割り当てるようにトリガーします。 496Mb;より多くのファイルが追加されると、より多くのファイルが事前に割り当てられ、テストマシンで2Gbがヒットすると、Mongoはスペースにアクセスできなくなり、折りたたまれます。

    したがって、1つの80Mbファイルが必要以上に多くのスペースを占めるように見えますが、回りくどい方法で意味があります。

    これは、-nopreallocを指定してmongodを実行することでオフにできますが、これはテストマシンにのみ推奨されます。

    返信ありがとうございます!



    1. DjongoArrayField'Item'は添え字化できません

    2. MongoDB+JS日付シフト-1日

    3. 複数のドキュメントをアトミックに更新して返却する

    4. 正規表現Springデータmongodbリポジトリ