診断コマンド
buildInfo
buildInfoコマンドの場合、レスポンスには次のフィールドが含まれます。
フィールド | 説明 |
---|---|
ok | 成功した場合は 1 、失敗した場合は0 が返されます。 |
version | MongoDB クライアントの互換性バージョン。 これは、Data Federation サービスが互換性のある MongoDB クライアントの最初のバージョンです。 |
versionArray | 配列形式の MongoDB クライアント互換バージョン。 |
dataLake.version | Data Federation のバージョン番号。 |
dataLake.gitVersion | Data Federation サービスの Git バージョン。 |
dataLake.date | Data Federation サービスのビルド タイムスタンプ。 |
dataLake.mongoSQLVersion | mongoSQL Data Federation サービスのバージョン |
例
{ "ok" : <return>, "version" : "<version-number>", "versionArray" : [ <number>, <number>, <number>, <number> ], "dataLake" : { "version" : "<version-number>", "gitVersion" : "<version-number>", "date" : "<timestamp>", "mongoSQLVersion" : "<version-number>" } }
collStats
collStatsコマンドの場合、Atlas Data Federation は応答内の次のフィールドを省略します。
avgObjSize
capped
max
maxSize
wiredTiger
nindexes
totalIndexSize
indexSizes
Atlas Data Federation の応答には次のフィールドが含まれます。 これらのフィールドを使用して、どのパーティションがコレクションにデータを入力するために使用されているかを確認し、統計がどの程度最近計算されたかを把握して、Atlas Data Federation が出力ドキュメントを切り捨てているかどうかを判断できます。
フィールド | 説明 | |
---|---|---|
dataLake.partitionCount | パーティションの数。 | |
dataLake.avgPartitionSize | すべてのパーティションの平均サイズ。 | |
dataLake.partitions.format | パーティションのファイル形式。 | |
dataLake.partitions.attributes | パーティションの属性をフィルタリングします。 | |
dataLake.partitions.count | パーティション内のドキュメントの数。 | |
dataLake.partitions.size | パーティションのサイズ(バイト単位)。 | |
dataLake.partitions.source | クラウドストレージURL。パーティションのバッキング データが含まれます。 | |
dataLake.partitions.version | Atlas クラスターの MongoDB バージョン。
たとえば、 | |
cacheMetadata | Atlas Data Federation が最近統計を計算した方法に関する情報。 | |
cacheMetadata.computeTime | 統計情報の計算が開始されたときのISODate形式の時間。 | |
cacheMetadata.automaticRefreshInProgress | キャッシュを更新するためにバックグラウンド ジョブが現在実行中かどうかを示すフラグ。 | |
truncated | Atlas Data Federation が 16MiB の最大ドキュメント サイズ制限を強制したかどうかを示すフラグ。 フラグの値は次のいずれかになります。
|
例
{ ... "partitionCount": <number of partitions>, "avgPartitionSize": <average size of all partitions>, "partitions": [ { "format": <file format>, "attributes": <filtering attributes>, "count": <number of documents in partition>, "source": <cloud storage URL>, "size": <size, in bytes, of the partition> }, ... ], "truncated": false, "cacheMetadata": { computeTime: ISODate("2021-07-25T15:10:33.513Z"), automaticRefreshInProgress: false }, ... }
Atlas Data Federation では、キャッシュをバイパスし、特定のコレクションの最新のストレージ統計を取得するために、オプションのブール値パラメータsync
が導入されています。 sync
パラメーターでは次の値が有効です。
true
- キャッシュをバイパスし、最新のストレージ統計を返すfalse
- キャッシュされたデータを返す
sync
パラメータが省略されている場合、 はデフォルトでfalse
となります。
例
db.runCommand( {collStats: "<string>", sync: true|false} )
このコマンドでサポートされているパラメータの詳細については、 collStats を参照してください。
connectionStatus
Atlas Data Federation はconnectionStatusコマンドの場合、現在の接続に関する情報、具体的には認証されたユーザーの状態と使用可能なロールを返します。
注意
フェデレーティッドデータベースインスタンスへの接続ではいつでも 1 人のユーザーだけが認証できます。 ユーザーが認証を行い、 db.auth()
コマンドを実行すると、Data Federation は前のユーザーの権限を新しいユーザーの権限に置き換えます。
connectionStatusコマンドは、 authenticatedUsers
出力フィールドに新しく認証されたユーザーのみを表示します。
dbStats
dbStatsコマンド用に、Atlas Data Federation は、キャッシュをバイパスし、特定のデータベースの最新のストレージ統計を取得するために、任意のブール値パラメータsync
を導入します。 sync
パラメーターでは次の値が有効です。
true
- キャッシュをバイパスし、最新のストレージ統計を返すfalse
- キャッシュされたデータも使用する
sync
パラメータが省略されている場合、 はデフォルトでfalse
となります。
例
db.runCommand( {dbStats: 1, sync: true|false} )
このコマンドでサポートされているパラメータの詳細については、「 dbStats 」を参照してください。
Atlas Data Federation コマンドは、応答内の次のフィールドを省略します。
object
avgObjSize
fsUsedSize
fsTotalSize
コマンドは、応答に次のフィールドを追加します。 これらのフィールドを使用して、コマンドが古いデータを返したかどうかを判断できます。
フィールド | 説明 |
---|---|
cacheMetadata | 統計がどの程度最近計算されたかに関する情報が含まれます。 |
cacheMetadata.computeTime | 統計情報の計算が開始されたときのISODate形式の時間。 |
cacheMetadata.automaticRefreshInProgress | キャッシュを更新するためにバックグラウンド ジョブが現在実行中かどうかを示すフラグ。 |
explain
explainコマンドは、Data Federation クエリプランを説明する情報を返します。 explain
出力は、クエリを満たすために使用されたデータパーティションに関する情報を提供するという点で MongoDB と異なります。
Data Federation では、次のコマンドを説明できます。
aggregate()
count()
find()
使用法
Atlas Data Federation は次のverbosity
モードをサポートしています。
queryPlanner
- クエリプランに関する情報を提供します。 冗長度が指定されていない場合、Atlas Data Federation はデフォルトでこのモードになります。queryPlannerExtended
- クエリされるオブジェクト ストレージのオブジェクト名やサイズなど、オブジェクト ストレージ オブジェクトに関する情報を含む、クエリプランに関する詳細情報を提供します。executionStats
- クエリ実行統計とパフォーマンスを提供します。
Atlas Data Federation はallPlansExecution
モードをサポートしていません。
例
次の例では、 explain
コマンドを使用して、クエリプランに関する詳細情報を含む集計コマンドに関する情報を取得する方法を示しています。
db.runCommand({ "explain": { "aggregate": "user", "verbosity": "queryPlannerExtended", "pipeline": [ ], "cursor": {} }})
次の例では、クエリのクエリ実行統計を取得するために、 find()
メソッドなどのexplain
メソッドにメソッドを追加する方法を示しています。
db.users.explain("executionStats").find({"type": "admin"})
出力
explain
を実行すると、Atlas Data Federation は他のパーティションの次の追加フィールドを返します。
出力フィールド名 | 説明 |
---|---|
stats | Atlas Data Federation がクエリ用に開く可能性のあるパーティションの数と合計サイズを説明するドキュメント。 |
stats.size | Atlas Data Federation がクエリ用に開く可能性のあるパーティションの合計サイズ。 |
stats.numberOfPartitions | Atlas Data Federation がクエリのために開く可能性のあるパーティションの数。 |
truncated | explain 出力が切り捨てられているかどうかを示すブール値。 explain の合計出力ドキュメント サイズは 16 MiB に制限されています。 |
plan | クエリのクエリ実行プランを含むドキュメント。 ドキュメントにはネストされた実行プラン ノードが含まれており、各ノードはプラン ノードを説明するドキュメントです。 ネストされたプラン ノード ドキュメントには、Atlas Data Federation のクエリ実行の内部説明が含まれ、変更される可能性があるさまざまなノードの種類が含まれます。 クエリプランの理解でさらにサポートが必要な場合は、 MongoDB サポート にお問い合わせください。 |
queryPlanner
モードでは、 explain
によって返される結果は、フェデレーティッドデータベースインスタンス内のパーティションに関する詳細情報を提供します。
1 { 2 ok: 1, 3 stats: { size: '66 B', numberOfPartitions: 2 }, 4 truncated: false, 5 plan: { 6 kind: 'region', 7 region: 'aws/us-east-1', 8 node: { 9 kind: 'data', 10 size: '66 B', 11 numberOfPartitions: 2, 12 partitionsTruncated: false, 13 partitions: [ 14 { 15 source: 'projectID:cluster', 16 provider: 'atlas', 17 size: '4 B', 18 database: 'locations', 19 collection: 'nyc' 20 }, 21 { 22 source: 'dls:projectID', 23 provider: 'dls:aws', 24 size: '62 B', 25 metadataLocation: { provider: 'aws', region: 'us-east-1' }, 26 dataSetName: 'v1$atlas$archive$etc', 27 optimizationPlan: { kind: 'everything' } 28 } 29 ] 30 } 31 } 32 }
explain
コマンドは、Atlas パーティションの次の追加フィールドを返します。
出力 | 説明 |
---|---|
database | Atlas Data Federation がクエリしたデータベース。 |
collection | Atlas Data Federation がクエリしたコレクション。 |
pipeline | Atlas Data Federation が実行した集計パイプライン。 |
explain
コマンドは、Atlas Online Archive パーティションの次の追加フィールドを返します。
出力フィールド名 | 説明 |
---|---|
optimizationPlan | Atlas Online Archive の最適化の詳細。 Atlas Online Archive に構成されたパーティション キーと一致するフィールドが含まれている場合、クエリが最適化される可能性があります。 |
queryPlannerExtended
モードでは、 explain
によって返される結果は、パーティション タイプの拡張クエリ計画情報を提供します。
1 { 2 ok: 1, 3 stats: { size: '66 B', numberOfPartitions: 2 }, 4 truncated: false, 5 plan: { 6 kind: 'region', 7 region: 'aws/us-east-1', 8 node: { 9 kind: 'data', 10 size: '66 B', 11 numberOfPartitions: 2, 12 partitionsTruncated: false, 13 partitions: [ 14 { 15 source:'projectID:cluster', 16 provider: 'atlas', 17 size: '4 B', 18 database: 'locations', 19 collection: 'nyc' 20 }, 21 { 22 source: 'dls:projectID', 23 provider: 'dls:aws', 24 size: '62 B', 25 metadataLocation: { provider: 'aws', region: 'us-east-1' }, 26 dataSetName: 'v1$atlas$archive$etc', 27 scannedDataSetPartitionsCount: 1, 28 percentOfTotalPartitions: 100, 29 optimizationPlan: { kind: 'everything' } 30 }, 31 ] 32 } 33 } 34 }
explain
コマンドは、 queryPlanner
からのすべての情報と、Atlas Online Archive パーティションの次の追加フィールドを返します。
出力フィールド名 | 説明 |
---|---|
scannedDataSetPartitionsCount | クエリを完了するためにスキャンされたパーティションの数。 |
percentOfTotalPartitions | パーティションの合計数に対するスキャンされたパーティションの割合。 |
executionStats
モードでは、 explain
によって返される結果は、Atlas パーティションのみのクエリ実行統計とパフォーマンスに関する情報を提供します。 これらは、Atlas パーティションの基礎となる Atlas コレクションでexecutionStats
explain コマンドを実行することで取得されます。 Atlas 以外のパーティションの場合、 explain
はqueryPlanner
情報を返します。 結果のpartitions
フィールドには、追加のexplainResults
フィールドが含まれます。このフィールドは、次のフィールドを含む可能性のあるドキュメントです。
出力フィールド名 | 説明 |
---|---|
executionStats | 検査されたドキュメントの数やキーの数など、Atlas クラスターの当選したクエリプランの実行に関する情報を提供します。 |
queryPlanner | インデックス選択を含む、Atlas クラスターのクエリプラン選択に関する情報が含まれています。 |
stages | パイプライン ステージの内訳とステージごとの統計情報を含みます。 |
注意
これらのフィールドの詳細については、 executionStats を参照してください。
1 { 2 ok: 1, 3 stats: { size: '66 B', numberOfPartitions: 2 }, 4 truncated: false, 5 plan: { 6 kind: 'region', 7 region: 'aws/us-east-1', 8 node: { 9 kind: 'data', 10 size: '66 B', 11 numberOfPartitions: 2, 12 partitionsTruncated: false, 13 partitions: [ 14 { 15 source: 'projectID:cluster', 16 provider: 'atlas', 17 size: '4 B', 18 database: 'locations', 19 collection: 'nyc', 20 explainResults: { 21 queryPlanner: { 22 ... 23 winningPlan: { 24 ... 25 }, 26 rejectedPlans: [] 27 }, 28 executionStats: { 29 ... 30 }, 31 stages: { 32 ... 33 } 34 } 35 }, 36 { 37 source: 'dls:projectID', 38 provider: 'dls:aws', 39 size: '62 B', 40 metadataLocation: { provider: 'aws', region: 'us-east-1' }, 41 dataSetName: 'v1$atlas$archive$etc' 42 }, 43 ] 44 } 45 } 46 }
getLog
getLogコマンドの場合、Atlas Data Federation は成功の応答を返しますが、ログ データは含まれません。
getMore
getMoreコマンド の場合、Atlas Data Federation は、カーソルを返すコマンドと組み合わせて使用すると、現在カーソルが指しているドキュメントの後続のバッチを返します。例: findとaggregate を参照してください。
hostInfo
hostInfoコマンドの場合、Atlas Data Federation は標準の MongoDB 応答から次のフィールドのサブセットのみを返します。
{ "ok" : <return>, "system" : { "currentTime" : ISODate("<timestamp>"), "hostname" : "<hostname>", "cpuAddrSize" : <number>, "memSizeMB" : <number>, "numCores" : <number>, "cpuArch" : "<identifier>", }, "os" : { "type" : "<string>", "name" : "<string>", }, "extra" : { } }
ping
Atlas Data Federation はpingコマンドの場合、サーバーがコマンドに応答しているかどうかをテストします。
whatsmyuri
whatsmyuriコマンドの場合、Atlas Data Federation はクライアントの IP アドレスを返します。