Atlas の商用配置ではMongoDB 8.0 以降を実行中M10+ クラスターが必要
Atlas シャードキー アドバイザーは、コレクションの候補となるシャードキーを分析および評価するのに役立ちます。 Performance Advisor からアナライザにアクセスして、クラスターのクエリ パターンとワークロード特性に基づいてシャードキーを評価します。アナライザは、読み取りおよび書込みの分布に関するより深いインサイトを得るために、オプションのクエリ サンプリングを使用して即座の分析を提供します。
Atlas は、シャーディングの決定によってクラスターのパフォーマンスが向上する可能性があるタイミングを特定するのに役立つ、 Performance Advisor の推奨事項を提供しています。
レプリカセットをシャーディングする場合。
コレクションを移動する場合。
シャーディングされていないコレクションをシャーディングする場合。
さらにシャードを追加する場合。
シャードキー アドバイザー を使用して、これらの推奨事項の候補となるシャードキーを分析します。
[ シャーディング インサイト ] ページから [ Shard Key Advisor ] を開くこともできます。Recommendations カードで、Analyze Shard Keys をクリックします。
この機能について
正しいシャードキーを選択することは、シャーディングされたクラスターのパフォーマンスにとって重要です。適切に選択されたシャードキー:
シャード間でデータを均等に分散します。
クエリを効率的にルーティングして、シャード間の操作を最小限に抑えます。
アプリケーションのクエリ パターンをサポートします。
データの増大に応じてスケーリングします。
Shard Key Advisor はコレクションのクエリ パターンを分析し、以下に基づいて分析を提供します。
クエリルーティング効率。
データ分散特性。
キーの濃度と頻度。
読み取りパターンと書込みパターン。
仕組み
シャードキー アドバイザーは、即座の分析と任意のより深いインサイトを提供します。
当面の分析
アナライザは、クエリ サンプリングなしで主要な特性を計算します。
濃度: 候補フィールド内の値の一意性を測定します。
単調性:フィールド値が時間の経過とともに増加するか減少するかを識別します。
頻度:フィールドにわたる値の分散を分析します。
これらのメトリクスは、シャードキー候補がどの程度データを分散し、ホットポイントを回避するかを理解するのに役立ちます。
任意のクエリ サンプリング
クエリ パターンに関する詳しいインサイトについては、 クエリのサンプリングを有効にして を表示します。
読み取り分布: クエリが最も頻繁にアクセスするシャードキー値を表示。
書込みディストリビューション: 書込みが最も頻繁に対象となるシャードキー値を表示。
クエリ サンプリングは任意です。アナライザは、ディストリビューション メトリクスを表示するときに有効にするように要求します。有効にすると、Atlas はコレクションに対して実行されるクエリをサンプリングし、追加のデータを使用して候補シャードキーを再分析します。
前提条件
シャードキー アドバイザーを使用するには、クラスターが次の要件を満たしている必要があります。
MongoDBバージョン: MongoDB8.0 以降。
クラスター階層:
M10クラスター層以上環境: 商用 Atlas 配置のみ。シャードキー アドバイザーは、次の場合、 使用できません 。
Atlas データリージョン化のカスタマー。
Cloud Manager の配置。
Ops Manager の配置。
Governmentクラウド環境。
コレクション タイプ: シャードキー アドバイザーは時系列コレクションをサポートしていません。
はじめる
シャードキー アドバイザーを使用するには、次の手順に従います。
Atlas で、プロジェクトの Clusters ページに移動します。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
サイドバーで、 Database見出しの下のClustersをクリックします。
[ Clusters (クラスター) ] ページが表示されます。
クラスターの Performance Advisor を開きます。
分析するクラスターの [...] ボタンをクリックします。
[View Performance Advisor] をクリックします。
Performance Advisorページが表示されます。
パフォーマンスとストレージに関する考慮事項
サンプリングされたクエリは、7 日の TTL を使用してクラスターに保存されます。クエリ サンプリングは自動的に停止しないため、不要になった場合は手動で無効にする必要があります。
Atlas はサンプリング レートを5 1 秒あたり サンプルに設定します。サンプリング レートとクエリ サイズがストレージ に与える影響の詳細については、configureQueryAnalyzer ドキュメントを参照してください。
注意
サンプリング レートは Atlas によって設定されており、Shard Key Advisor を使用して調整することはできません。
analyzeShardKeyコマンドは各分析フェーズを順番に処理するため、大規模なコレクションでは完了までに時間がかかる可能性があります。クラスターへの読み取りまたは書込みをブロックしません。
Tip
長時間実行されているanalyzeShardKey 操作Kill Op をキャンセルするには、リアルタイム パフォーマンス パネルの ボタンを使用します。Project Real Time Performance Operator ロールが必要です。
詳細
シャードキーとシャーディングの概念の詳細については、以下を参照してください。