AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

シャーディングに関するインサイト

Atlas の商用配置ではMongoDB 8.0 以降を実行中M10+ シャーディングされたクラスターが必要

Atlas シャーディング インサイトは、シャーディングされたクラスター専用のモニタリングと観察可能性を提供します。 [ シャーディング インサイト ] ダッシュボードには、シャーディングメタデータ、ハードウェア使用量、データ分散、バランサーのアクティビティが 1 つの場所にまとめられています。シャーディング インサイト を使用して、パフォーマンス メトリクスを表示し、ワークロードの分散を追跡し、シャーディングされたクラスターのコンポーネント全体の問題を特定します。

Atlas は、シャーディングの決定によってクラスターのパフォーマンスが向上する可能性があるタイミングを特定するのに役立つ、 Performance Advisor に次の推奨事項を提供しています。

  • 増やす制限に達するレプリカセット

  • シャーディングされていない大規模なコレクションまたは増加しているコレクション

  • ストレージまたはリソースの制限に近づくクラスター

シャードキー アナライザ を使用して、これらの推奨事項の候補となるシャードキーを分析します。

シャーディング インサイトでは、Shards、Collections、Mongos Instances のビューが提供され、クラスターのコンポーネント全体でパフォーマンス、ワークロード分散、リソース使用量をモニタリングできます。

ページには、クラスターの概要情報、アクティブなシャーディングの推奨事項、ハードウェアとシャーディング固有のメトリクスを一定期間示すチャートが表示されます。

過去 1 時間から過去 90 日間の時間範囲でメトリクスをフィルタリングすることも、カスタム日付と時間範囲を選択して特定の期間を分析することもできます。

1
  1. まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー

  2. まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。

  3. サイドバーで、 Database見出しの下のClustersをクリックします。

[ Clusters (クラスター) ] ページが表示されます。

2
3

[シャーディング インサイト] ページでは、次のビューが提供されます。

  • Shards: 個々のシャードのメトリクスをモニターする。

  • Collections: 個々のコレクションのメトリクスをモニターします。

  • Mongos Instances: クラスター内の mongos インスタンスのメトリクスをモニタリングします。

時間範囲セレクターを使用して事前設定された時間範囲を選択するか、Filter by Date and Time ピッカーを使用してカスタムの日付と時間範囲を選択します。

注意

シャーディングインサイト と シャーディング推奨事項 は、デフォルトで有効になっています 。プロジェクト所有者と管理者は、 プロジェクト設定 のプロジェクトレベルでこれらの機能を切り替えることができます。

  • Sharding Insights: "シャーディングの健全性とメトリクスを参照してください"

  • Sharding Recommendations: "シャーディング構成を改善するためのカスタマイズされた推奨事項"

シャーディング インサイト ページの上部には、主要なクラスターの概要情報を示すサマリー セクションが表示されます。

  • シャードの合計: クラスター内のシャードの合計数。

  • バランサー ステータス:バランサーの現在の状態(有効または無効)。

  • バランシング ウィンドウ(UTC):バランサー操作の時間ウィンドウを構成します(設定されている場合)。

  • コンフィギュレーションサーバー: コンフィギュレーションサーバーのステータスの概要。

この概要には、クラスターのシャーディング構成と現在の状態の概要が記載されています。

クラスターのサマリーの下の Recommendations カードには、クラスターのアクティブなシャーディング推奨事項と、推奨事項の数を示すバッジが表示されます。カードを展開すると、各推奨事項の概要が表示されます。 Atlas は、次のことを検出したときにアクションを推奨します。

  • シャーディングされていない大規模なコレクション、または増加しているコレクション では、シャーディングのメリットが得られます。

  • ストレージまたはリソースの制限に近づくクラスターには、シャードを追加するとメリットが得られる可能性があります。

  • シャーディングされたクラスターに変換するとレプリカセットがある可能性があります。

Performance Advisor で推奨事項の詳細を表示するには、推奨事項をクリックします。候補シャードキーを評価するには、Analyze Shard Keys をクリックしてシャードキー アナライザを 新しいタブで開きます。

クラスターにアクティブな推奨事項がない場合、カードには「現時点では推奨事項はありません」と表示されます。というメッセージが表示されます。

Shards ビューには、選択したメトリクスの時系列チャートと、クラスターのシャードの表が表示されます。デフォルトでは 、ダッシュボードには System CPU、System Memory、Connections、Opcounters チャートが表示されます。

別のメトリックを表示するには、メトリクス セレクターからそれらを選択します。チャートとシャード テーブルをノードタイプでフィルタリングするには、ノードフィルターから All Nodes、Primaries、または Secondaries を選択します。

シャーディング インサイトでは、次のメトリクスがカテゴリ別にグループ化されて提供されます。

シャードごとに集計されたハードウェアリソース使用状況メトリクス:

  • System CPU: シャード上のすべてのコアで使用された CPU 時間の割合。

  • System Memory: シャードで使用されているRAMの量。

  • System Network: シャードにおける 1 秒あたりのネットワーク バイトの合計。

  • Disk IOPS: 1 秒あたりのディスク読み取りおよび書込み (write) 操作の数。

  • Disk Latency: ディスク操作の平均読み取りおよび書込みレイテンシ。

  • Disk Throughput: 1 秒あたりのディスクの読み取りバイト数とディスクに書込まれるバイト数。

  • Disk Space: シャードで使用済みおよび使用可能なディスク容量。

  • Data Size: データベース全体で合計された、シャードに保持されているユーザー データの非圧縮サイズ。プロジェクトでデータベース統計コレクションが無効になっている場合、このチャートは空になります。

シャードあたりのクエリおよび操作スループットのメトリクス:

  • Connections: シャードへのアクティブなクライアント接続の数。

  • Opcounters: 1 秒あたりの挿入、クエリ、更新、削除、get more、およびコマンド操作の速度。

  • Queues: グローバルロックを取得するのを待機している操作の数。

  • Replication Lag:レプリケーション中のプライマリとセカンダリ間の遅延(ミリ秒単位)。

  • Read Latency: シャードでの読み取り操作の平均実行時間。

  • Write Latency: シャードでの書き込み操作の平均実行時間。

  • Command Latency: シャードでのコマンド操作の平均実行時間。

シャードあたりのストレージエンジンキャッシュの使用量と効率:

  • Cache Fill Ratio: 現在使用されている構成済みのストレージエンジンキャッシュの割合。比率が 100% に近い場合は、ワーキングセットがキャッシュよりも大きいことを示します。

  • Dirty Fill Ratio: まだディスクに書き込まれていない変更されたページを保持する構成されたストレージエンジンキャッシュの割合。比率が高い場合は、書込みが過負荷であることを示す可能性があります。

  • Cache Hit Ratio: ディスクからページを読み込まずに、ストレージエンジンキャッシュから提供されたページ リクエストの割合。

シャーディングされたコレクションのシャードあたりのデータ サイズ、ドキュメント数、チャンク分布。

  • Owned Data Size: 各シャードが所有するデータのサイズ(シャーディングされたコレクション全体で合計)。

  • Orphaned Data Size: 各シャード上の 孤立したデータ のサイズ(シャーディングされたコレクション全体で合計)。

  • Owned Document Count: 各シャードが所有するドキュメント数(シャーディングされたコレクション全体の合計)。

  • Orphaned Document Count: 各シャード上の 孤立したドキュメント の数。シャーディングされたコレクション全体で合計された数。

  • Chunk Count: シャーディングされたコレクション全体の各シャード上のチャンクの数。

  • Jumbo Chunk Count: 各シャード上の ジャンボ チャンクの数。バランサーはジャンボ チャンクを移行できません。

これらのメトリクスは、シャード全体のパフォーマンスのボトルネック、キャパシティーの問題、データ分散の不均衡を特定するのに役立ちます。

チャートの下の シャード表 には、選択した時間範囲のステータス、データサイズ、平均および最大 CPU 使用率、1 秒あたりの読み取り数、1 秒あたりの書込み数を含む各シャードが表示されます。テーブルは、チャートにどのシャードが表示されるかを制御します。テーブルに表示する列を選択するには、Edit Columns をクリックします。

シャードの詳細パネルを開くには、その行をクリックします。パネルには、シャーディングされたコレクションの数、平均読み取りおよび書込み負荷、平均操作実行時間、キャッシュアクティビティ、範囲削除アクティビティなど、シャードのアクティブなアラートと概要メトリクスが表示されます。

履歴メトリックを表示するには、時間範囲を選択します。

  • 事前設定:1 時間、8 時間、12 時間、24 時間、3 日、7 日、30 日、60 日、または90 日から選択します。 。

  • カスタム範囲:Filter by Date and Time ピッカーを使用して特定の開始日付と終了時刻を選択します。

特定の時間ウィンドウを拡大するには、チャートをドラッグします。選択した時間範囲に戻すには、Reset zoom をクリックします。

履歴データは、傾向を特定し、時間の経過とともに変化を追跡し、問題を特定のイベントと相関させるのに役立ちます。

Atlas は、コレクションに最適なシャードキーを分析および選択するのに役立つツールである シャードキー アナライザ を提供します。 Performance Advisor から Shard Key Advisor にアクセスし、クラスターのクエリ パターンとワークロード特性に基づいて候補となるシャードキーを評価します。

[Sharding Insights] ページの [Recommendations カード] から、Analyze Shard Keys をクリックしてシャードキー アドバイザーを開くこともできます。

シャードキーProject Data Access Read Only アドバイザーを使用するには、 またはProject Sharding Manager ロールなどの任意のデータアクセスロールが必要です。

アナライザは、シャーディングの推奨事項と合わせて Performance Advisor に表示され、次の項目を即座に分析します。

  • 濃度: 候補フィールド内の値の一意。

  • 単調性:フィールド値が時間の経過とともに増加するか減少するか。

  • 頻度:フィールドにわたる値の分散。

オプションで、読み取りおよび書込みの分散パターンに関するより深いインサイトを得るためにクエリのサンプリングを有効にすることができます。

シャーディング インサイトを使用するには、クラスターが次の要件を満たしている必要があります。

  • クラスター構成: シャーディングされたクラスター(レプリカセットでは使用できません)。

  • MongoDBバージョン: MongoDB8.0 以降。

  • クラスター階層:M10 クラスター層以上

  • プロジェクト設定: シャーディング インサイト はデフォルトで有効になっています 。Sharding Insights ページがクラスター サイドバーに表示されない場合は、 プロジェクト設定 で設定が有効になっていることを確認します。

  • 環境: 商用 Atlas 配置のみ。

ページでは、時間範囲、選択したメトリクス、ノードフィルター、選択したシャードなどの表示設定がページURLに保持されます。これにより、特定のビューをマークしたり、チームと URL を共有したりすることができます。

前提条件を満たさないクラスターでシャーディングインサイトにアクセスすると、Atlas は、シャーディングインサイトページの代わりに機能が利用できない理由を説明するバナーを表示します。

このリリースでは、シャーディング インサイトに次の制限があります。

シャーディング インサイト は以下をサポートしていません。

  • レプリカセットの配置(シャーディングされたクラスターのみ)。

  • 8.0 より前のバージョンのMongoDBを実行中クラスター。

  • M10 未満の階層のクラスター。

  • Atlas データリージョン化 を使用するクラスター。

  • Cloud Managerまたは Ops Manager の配置。

  • Governmentクラウド環境。

このリリースは以下をサポートしていません。

  • シャーディング インサイト データへの Atlas Administration APIアクセス。

  • シャーディング インサイト構成の Terraform プロバイダー サポート。

  • シャーディング インサイト メトリクスのためのMongoDB MCP サーバー統合

これらの機能は、将来のリリースで追加される可能性があります。

推奨事項に該当する前に、またはシャーディングの変更を行う前に、次の重要な考慮事項を確認してください。

  • 永続的な変更:レプリカセットをシャーディングされたクラスターに変換することは、元に戻すことのできない永続的なアーキテクチャ上の決定です。

  • 計画が必要:コレクションをシャーディングする 前に、シャーディングドキュメントを確認し、シャードキー戦略を計画してください。

  • シャードキーの選択: クエリ パターンをサポートし、適切なデータ分散を提供するシャードキーを選択します。潜在的なシャードキーを評価するには、「 シャードキーの選択 」を参照してください。

  • 本番環境に適用する前にテスト: 選択したシャードキーを使用してアプリケーションをシャーディングされたクラスターでテストし、レプリカセットからシャーディングされたクラスターに移行すると、機能とパフォーマンスが異なる場合があります。アプリケーションがこれらの違いを適切に処理していることを検証します。

シャーディングされたクラスターには、レプリカセットとは異なる書込み操作セマンティクスがあります。

  • マルチドキュメント操作: とupdateMany() deleteMany()は、シャーディングされたコレクションの冪等書込みにのみ使用してください。これらの操作は、実行中にネットワークエラーまたはフェイルオーバーが発生した場合、一部のドキュメントに対して複数回実行されることがあります。

  • 再試行可能な書込み: MongoDB は、一時的な障害を処理するために単一ドキュメント操作の再試行可能な書込みを提供していますが、複数のドキュメント操作には慎重な設計が必要です。

  • 書込み保証 (write concern): アプリケーションの書込み保証 (write concern)の設定を確認して、シャーディングされた環境で耐久性要件と一致していることを確認します。

クラスターをシャーディングする前に、シャーディング操作上の制限 を確認してください。

  • PrivateLink への影響: クラスターで PrivateLink が使用されている場合、レプリカセットからシャーディングされたクラスターに変換すると、シャードへの接続が完全にブロックされます。アプリケーションは再起動されてmongos ルーターに再接続されるまで、ダウンタイムが発生します。

  • 接続の更新:レプリカセットからシャーディングされたクラスターに変換する場合、mongos ルーターに再接続するにはアプリケーションを再起動する必要があります。アプリケーションでSRV接続文字列を使用する場合は、接続文字列の変更は必要ありませんが、アプリケーションの再起動は必要です。既存のシャーディングされたクラスターにシャードを追加するには、アプリケーションの再起動は必要ありません。

シャード間でコレクションを移動する場合:

  • 一度に 1 つの: 一度に移動できるコレクションは1 つだけです。

  • 書き込みブロッキングなし: コレクションの移動では 再シャーディング が使用されます。これにより、移動中も書込み操作を継続できます。

  • 宛先容量: 宛先シャードには十分なストレージとリソースキャパシティーが必要です。

  • 操作時間: 大規模なコレクションの移動にはかなりの時間がかかる場合があります。

シャーディングの概念、推奨事項、クラスター マネジメントの詳細については、以下を参照してください。