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

空のMongoDBデータベースが非常に大きいのはなぜですか?

    MongoDBのバージョンと構成されたストレージエンジンに応じて、起動時にいくつかのデータファイルとメタデータファイルが事前に割り当てられます。これは予想される動作です。「空の」展開でも、ハウスキーピングと診断データが生成されます。

    ディレクトリリストに基づいて、デフォルトでWiredTigerストレージエンジンを使用するMongoDB3.2を実行しています。 WiredTigerはジャーナルファイルごとに最大100MBを割り当てるため、新しいデプロイメントには最大300MBの事前割り当てされたジャーナルファイルがあります

         100M    ./journal/WiredTigerLog.0000000003
         100M    ./journal/WiredTigerPreplog.0000000001
         100M    ./journal/WiredTigerPreplog.0000000002
    

    ジャーナルファイルの他に、dbpathに作成されるその他のメタデータ (データベースを明示的に作成していなくても)次のものが含まれます:

    • local startup_logという上限のあるコレクションを持つデータベース mongodのこのインスタンスの各起動呼び出しに関するいくつかの診断情報 。 local.startup_logに関連付けられたコレクションとインデックスファイルがあります;ファイル名は不透明ですが、最初に作成されたファイルとして、あなたの例では次のように推測しています。

       36K    ./collection-0-3697658674625742251.wt
       36K    ./index-1-3697658674625742251.wt
      
    • 複数のWiredTigerメタデータファイル。 local以降、デプロイメントには常に少なくとも1つのデータベースが存在します startup_logのデータベースはデフォルトで作成されます :

      4.0K    ./WiredTiger
      4.0K    ./WiredTiger.lock
      4.0K    ./WiredTiger.turtle
      4.0K    ./WiredTigerLAS.wt
       16K    ./_mdb_catalog.wt
       36K    ./sizeStorer.wt
       44K    ./WiredTiger.wt
      
    • diagnostic.data ディレクトリ;これは、サーバーステータスメトリックの定期的なサンプリング用です:

      168K    ./diagnostic.data/metrics.2016-06-10T11-17-58Z-00000
      72K    ./diagnostic.data/metrics.2016-06-10T10-19-31Z-00000
      


    1. mongoDbのキー値の順序

    2. moveChunkはデータ転送にTOシャードを使用できませんでした:新しいチャンクを受け入れることができません。

    3. MongoDB $ cos

    4. 部分的に定義されたスキーマを使用したドキュメントのマッピング