Docs Menu

db.collection.getShardDistribution()

db.collection.getShardDistribution()

重要

mongosh メソッド

これはmongoshメソッドです。 これは、 Node.jsまたはその他のプログラミング言語固有のドライバー メソッドのドキュメントではありません

ほとんどの場合、 mongoshメソッドはレガシーの mongo shell メソッドと同じように動作します。 ただし、一部のレガシー メソッドはmongoshでは利用できません。

レガシーmongo shell のドキュメントについては、対応する MongoDB Server リリースのドキュメントを参照してください。

MongoDB API ドライバーについては、各言語のMongoDB ドライバードキュメント を参照してください。

シャーディングされたコレクションのデータ配信統計を出力します。

このメソッドは、次の環境でホストされている配置で使用できます。

  • MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです

重要

このコマンドは、M 0 、M 2 、M 5クラスターではサポートされていません。 詳細については、「サポートされていないコマンド 」を参照してください。

  • MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン

  • MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン

getShardDistribution() メソッドの形式は次のとおりです。

db.collection.getShardDistribution()

以下も参照してください。

以下は、シャーディングされたコレクションのディストリビューションのサンプル出力です。

Shard shard-a at shard-a/MyMachine.local:30000,MyMachine.local:30001,MyMachine.local:30002
data : 38.14Mb docs : 1000003 chunks : 2
estimated data per chunk : 19.07Mb
estimated docs per chunk : 500001
Shard shard-b at shard-b/MyMachine.local:30100,MyMachine.local:30101,MyMachine.local:30102
data : 38.14Mb docs : 999999 chunks : 3
estimated data per chunk : 12.71Mb
estimated docs per chunk : 333333
Totals
data : 76.29Mb docs : 2000002 chunks : 5
Shard shard-a contains 50% data, 50% docs in cluster, avg obj size on shard : 40b
Shard shard-b contains 49.99% data, 49.99% docs in cluster, avg obj size on shard : 40b
Shard <shard-a> at <host-a>
data : <size-a> docs : <count-a> chunks : <number of chunks-a>
estimated data per chunk : <size-a>/<number of chunks-a>
estimated docs per chunk : <count-a>/<number of chunks-a>
Shard <shard-b> at <host-b>
data : <size-b> docs : <count-b> chunks : <number of chunks-b>
estimated data per chunk : <size-b>/<number of chunks-b>
estimated docs per chunk : <count-b>/<number of chunks-b>
Totals
data : <stats.size> docs : <stats.count> chunks : <calc total chunks>
Shard <shard-a> contains <estDataPercent-a>% data, <estDocPercent-a>% docs in cluster, avg obj size on shard : stats.shards[ <shard-a> ].avgObjSize
Shard <shard-b> contains <estDataPercent-b>% data, <estDocPercent-b>% docs in cluster, avg obj size on shard : stats.shards[ <shard-b> ].avgObjSize

出力情報には、次の内容が表示されます。

  • <shard-x> は、シャード名を保持する string です。

  • <host-x> は、ホスト名を保持する string です。

  • <size-x> は、測定単位(例: bMb )。

  • <count-x> は、シャード内のドキュメント数を報告する数値です。

  • <number of chunks-x> は、シャード内のチャンクの数を報告する数値です。

  • <size-x>/<number of chunks-x> は、測定単位(例: bMb )。

  • <count-x>/<number of chunks-x> は、シャードのチャンクあたりの推定ドキュメント数を反映する計算値です。

  • <stats.size> は、測定単位を含む、シャーディングされたコレクション内のデータの合計サイズを報告する値です。

  • <stats.count> は、シャーディングされたコレクション内のドキュメントの総数を報告する値です。

  • <calc total chunks> は、すべてのシャードからのチャンク数を報告する計算数値で、以下に例を示します。

    <calc total chunks> = <number of chunks-a> + <number of chunks-b>
  • <estDataPercent-x> は、各シャードについて、コレクションの合計データ サイズの割合としてデータ サイズを反映する計算値であり、次の例のようになります。

    <estDataPercent-x> = <size-x>/<stats.size>
  • <estDocPercent-x> は、各シャードについて、コレクションの合計ドキュメント数に対する割合としてドキュメント数を反映する計算値であり、次の例は次のとおりです。

    <estDocPercent-x> = <count-x>/<stats.count>
  • stats.shards[ <shard-x> ].avgObjSize は、シャードの平均オブジェクト サイズ(測定単位を含む)を反映する数値です。