Azure Cosmos DB の自動化された推奨事項
適用対象: NoSQL MongoDB Cassandra Gremlin Table
Azure Cosmos DB を含むすべてのクラウド サービスは、新しい特徴、機能、機能強化によって頻繁に更新されます。 ご利用のアプリケーションに対して、最新のパフォーマンスとセキュリティの更新プログラムを継続的に適用することが重要です。 Azure portal には、アプリケーションのパフォーマンスを最大限に引き出すことができるカスタマイズされた推奨事項が表示されます。 Azure Cosmos DB のアドバイザリ エンジンによって、Azure Cosmos DB リソースの使用量の履歴が継続的に分析され、ワークロード パターンに基づいて推奨事項が提供されます。 これらの推奨事項は、パーティション分割、インデックス作成、ネットワーク、セキュリティなどの領域に対応しています。これらのカスタマイズされた推奨事項は、アプリケーションのパフォーマンス向上に役立ちます。
推奨事項の表示
Azure Cosmos DB に関する推奨事項は、次の方法で表示できます。
推奨事項を表示する方法の 1 つは、[通知] タブ内にあります。新しい推奨事項がある場合は、メッセージ バーが表示されます。 Azure portal にサインインし、Azure Cosmos DB アカウントに移動します。 Azure Cosmos DB アカウント内で [通知] ペインを開き、[推奨事項] タブを選択します。メッセージを選択し、推奨事項を表示することができます。
また、コスト、セキュリティ、信頼性、パフォーマンス、オペレーショナル エクセレンスなどのさまざまなバケット別に分類された、Azure Advisor による推奨事項を確認することもできます。 特定のサブスクリプションを選択し、リソースの種類 (Azure Cosmos DB アカウント) でフィルター処理できます。 特定の推奨事項を選択すると、ワークロードを活用するために実行できるアクションが表示されます。
Azure Cosmos DB ペインに表示されるすべての推奨事項が Azure Advisor で使用できるとは限りません。また、その逆の場合もあります。 これは、Azure Advisor ペイン、Azure Cosmos DB ペイン、またはその両方に当てはまる推奨事項の種類に基づいているためです。
現在、Azure Cosmos DB では次の領域に関する推奨事項がサポートされています。 これらの各推奨事項には、ドキュメントの関連するセクションへのリンクが含まれているため、次のステップを簡単に実行できます。
SDK の使用に関する推奨事項
このカテゴリでは、以前のバージョンの SDK が使用されていることがアドバイザーによって検出され、最新のバグ修正とパフォーマンス向上を利用するために、新しいバージョンにアップグレードすることが推奨されます。 現在利用できる SDK に固有の推奨事項は次のとおりです。
名前 | 説明 |
---|---|
以前の Spark コネクタ | 以前のバージョンの Spark コネクタが使用されていることを検出し、アップグレードを推奨します。 |
以前の .NET SDK | 以前のバージョンの .NET SDK が使用されていることを検出し、アップグレードを推奨します。 |
以前の Java SDK | 以前のバージョンの Java コネクタが使用されていることを検出し、アップグレードを推奨します。 |
インデックス作成に関する推奨事項
このカテゴリでは、アドバイザーによってインデックス作成モード、インデックス作成ポリシー、インデックス付きパスが検出され、現在の構成がクエリのパフォーマンスに影響する場合は変更が推奨されます。 現在利用できるインデックス作成に固有の推奨事項は次のとおりです。
名前 | 説明 |
---|---|
Lazy インデックス作成 | レイジー インデックス作成モードが使用されていることを検出し、代わりに一貫性のあるインデックス作成モードの使用を推奨します。 Azure Cosmos DB のレイジー インデックス作成モードの目的は限られており、状況によってはクエリ結果の鮮度に影響を与える可能性があるため、一貫性のあるインデックス作成モードが推奨されます。 |
多数のインデックス付きパスがある既定のインデックス作成ポリシー | 既定のインデックスで実行されていて多数のインデックス付きパスがあるコンテナーを検出し、インデックス作成ポリシーをカスタマイズすることを推奨します。 |
RU/秒料金が高い ORDER BY クエリ | RU/秒の料金が高い ORDER BY クエリを発行するコンテナーを検出し、24 時間以内にこれらのクエリの最大数を発行するアカウントごとに 1 つのコンテナーの複合インデックスを探索することを推奨します。 |
RU/秒の消費量が多くインデックスがない MongoDB 3.6 アカウント | 3\.6 バージョンのコンテナーを使用してクエリを発行している Azure Cosmos DB の MongoDB 用 API のうち、RU/秒の料金が高いものを検出し、インデックスを追加することを推奨します。 |
コスト最適化に関する推奨事項
このカテゴリでは、アドバイザーによって RU/秒の使用量が検出され、リソースに何らかの変更を加えたり、別の価格モデルを利用したりして、価格を最適化できることが判断されます。 現在利用できるコスト最適化に関する推奨事項は次のとおりです。
名前 | 説明 |
---|---|
予約容量 | RU/秒の使用量を検出し、予約インスタンスを、そのメリットを受けられる可能性のあるユーザーに推奨します。 |
非アクティブなコンテナー | 30 日以上使用されていないコンテナーを検出し、そのようなコンテナー用のスループットを減らすか、それらを削除することを推奨します。 |
高スループットの新しいサブスクリプション | 1 日に異常に高い RU/秒を消費しているアカウントがある新しいサブスクリプションを検出し、通知を送ります。 この通知は、Azure Cosmos DB が消費量ベースのモデルではなく、プロビジョニングされたスループットベースのモデルで運用されていることを、新しいお客様に知らせるためのものです。 |
自動スケールの有効化 | 自動スケーリングを有効にすることで、現在手動スループットを使用しているデータベースとコンテナーでコストを削減できるかどうかを検出します。 |
自動スケーリングに代わる手動スループットの使用 | 手動スループットに切り替えることで、現在自動スケーリング スループットを使用しているデータベースとコンテナーでコストを削減できるかどうかを検出します。 |
移行の推奨事項
このカテゴリでは、レガシ機能を使用していることがアドバイザーによって検出され、Azure Cosmos DB の大規模なスケーラビリティとその他の利点を活用できるように、移行することが推奨されます。 現在利用できる移行に関する推奨事項は次のとおりです。
名前 | 説明 |
---|---|
パーティション分割されていないコンテナー | 最大ストレージ制限に近づいている固定サイズのコンテナーを検出し、それらをパーティション分割されたコンテナーに移行することを推奨します。 |
クエリの使用に関する推奨事項
このカテゴリでは、アドバイザーによってクエリの実行が検出され、いくつかの変更を加えることでクエリのパフォーマンスをチューニングできることが識別されます。 現在利用できるクエリの使用に関する推奨事項は次のとおりです。
名前 | 説明 |
---|---|
固定ページ サイズのクエリ | 固定ページ サイズで発行されたクエリを検出し、特定の値を定義するのではなく、-1 (ページ サイズに制限なし) を使用することを推奨します。 このオプションを選択すると、すべての結果を取得するために必要なネットワーク ラウンドトリップの数が減ります。 |
次のステップ
- Azure Cosmos DB でのクエリ パフォーマンスのチューニング
- Azure Cosmos DB を使用する場合のクエリの問題のトラブルシューティング
- Azure Cosmos DB への移行のための容量計画を実行しようとしていますか? 容量計画のために、既存のデータベース クラスターに関する情報を使用できます。
- 既存のデータベース クラスター内の仮想コアとサーバーの数のみがわかっている場合は、仮想コア数または仮想 CPU 数を使用した要求ユニットの見積もりに関するページを参照してください
- 現在のデータベース ワークロードに対する通常の要求レートがわかっている場合は、Azure Cosmos DB Capacity Planner を使用した要求ユニットの見積もりに関するページを参照してください