2011-08-22 12 views
7

私は85GBのスペースを割り当てられたデータベースを持っています。 show dbsコマンドを使用してこのサイズを取得しました。 しかし、db.stats()を使用すると、ストレージサイズは63GBになります。ドキュメントを通った後、私はdat mongo dbが作成されたdbにサイズを割り当て、そして実際のデータが満たされていることを発見しました。MongoDb:余分なディスクスペースを避ける

mongoはこの事前割り当てをなぜ行うのですか。この事前割り当てを避ける方法はありますか?

はい、そうすることをお勧めしますか、それともパフォーマンスの観点から影響を及ぼしますか?

ありがとうございました!

答えて

4

詳細はここで見つけることができます詳細を読むことができます:あなたのケースに今http://www.mongodb.org/display/DOCS/Excessive+Disk+Space

を。私はあなたのデータファイルの現在のサイズは、事前割り当てだけでは発生しないと思います。割り当てられたデータファイルの最大サイズは2Gです。たぶん、今日よりはるかに多くのデータを保存したことがありますか?上記のリンクでは、とにかくすぐにこのデータを必要としない場合は、このデータを再利用する方法も示しています。これにより、処理中に大量のディスク容量が必要になるので、これをいくつか計画する必要があります。

事前割り振りを無効にすると、実際にはパフォーマンスに影響があります。多くの挿入を行うと、プロセスは新しいファイルを作成するために定期的に待機する必要があります。

+0

お返事ありがとうございました....サイズの違いは、一度データを保存し、後でそれを削除したためです。あなたがリンクを提供しているドキュメントを見て、私はdb.runCommand({compact: 'collectionname'}を使ってコレクションを圧縮します。 –

0

事前割り当てを無効にするには、--noprealloc command line parameterを使用します。


あなたはhere

+0

バージョン2.6では、このフラグは非推奨です。 --nopreallocがデフォルトになりました。 – binarysubstrate

関連する問題