Azure Cosmos DB 容量計算ツールを使用した容量推定
Azure Cosmos DB ワークロードの容量計画を行うには、いくつかの方法があります。
- 既存のデータベース ワークロードを移行するが、既存のクラスター内の仮想コアとサーバーの数のみがわかっている場合は、[仮想コアまたは vCPU(/azure/cosmos-db/convert-vcore-to-request-unit)] を使用して要求ユニットを見積もる必要があります。 このテーマについては、移行 モジュールで詳しく説明します。
- 現在のデータベース ワークロードの一般的な要求率がわかっている場合は、Azure Cosmos DB Capacity Plannerを使用して要求ユニットを見積もることができます。
Azure Cosmos DB のコストとパフォーマンスを最適化するには、データベースとコレクションのワークロードに適切なスループット (1 秒あたりの要求ユニット数または RU/秒) を提供する必要があります。 Azure Cosmos DB Capacity Planner は、Azure Cosmos DB for MongoDB ワークロードに必要な RU/秒を見積もるのに役立ちます。 このツールの詳細を見てみましょう。
Azure Cosmos DB 容量プランナー
Azure Cosmos DB Capacity Planner は、ワークロード自体を定義する複数のパラメーターに基づいて、ワークロードに必要な RU/秒の量を見積もるオンライン ツールです。 容量プランナーには、Basic と Advanced の 2 つのモードが用意されています。 これらのモードごとに定義するさまざまなワークロード パラメーターを見てみましょう。
基本モード
Basic モードの では、ワークロードのコストとスループットの見積もりを迅速に行うことができます。 このモードでは、ワークロードに関する情報が少なくて済み、インデックス作成ポリシー、整合性、およびその他の Azure Cosmos DB パラメーターに既定の Azure Cosmos DB 設定を使用していることを前提としています。
差分ワークロード パラメーターと入力する値を確認してみましょう。
- API - [Cosmos DB API for MongoDB] を選択します。
- リージョンの数 - Azure Cosmos DB for MongoDB はすべての Azure リージョンで使用できます。 ワークロードに必要なリージョンの数を選択します。
- 複数リージョンの書き込み - 有効なの場合、アプリケーションは任意の Azure リージョンの読み取りと書き込みを行うことができます。 無効場合、アプリケーションは 1 つのリージョンにのみデータを書き込むことができますが、選択した任意のリージョンから読み取ることができます。
- 異なるリージョンで短い待機時間の書き込みを必要とするアクティブ/アクティブワークロードが必要な場合に有効にします。
- マルチリージョンの書き込みでは、99.999% の読み取りと書き込みの可用性が保証されます。
- 複数リージョンの書き込みでは、単一の書き込みリージョンと比較して、より多くのスループットが必要になります。
- トランザクション ストア に保存されている推定データの合計 (GB) - 単一のリージョン内のトランザクション ストアに保存されているデータの合計。
- 分析ストアを使用する - Synapse 分析ストアを使用する場合は、[オン] を選択します。
- [オン] に設定した場合は、分析ストア に格納されている合計データを入力します。これは、1 つのリージョン に分析ストアに格納された推定データ (GB) を表します。
- アイテム サイズ - ドキュメントの推定平均サイズ (1 KB から 2 MB)。
- Finds/sec - リージョンごとに 1 秒あたりに予想される検索操作の数。
- Inserts/sec - リージョンあたり 1 秒あたりに予想される挿入操作の数。
- Updates/sec - リージョンごとに 1 秒あたりに予想される更新操作の数。
- 自動インデックス作成を選択すると、更新操作の推定 RU/秒は、更新ごとに 1 つのプロパティが変更されると計算されます。
- Deletes/sec - リージョンあたり 1 秒あたりに予想される削除操作の数。
[計算] を選択すると、[コスト見積もり] タブに、ストレージとプロビジョニングされたスループットの合計コストが表示されます。 既定では EST. THROUGHPUT REQUIRED が表示されますが、[詳細の表示] を選択すると、さまざまな種類の CRUD 要求とクエリ要求の推定コストを表示できます。
ヒント
パラメーターを変更して新しい見積もりを取得する場合は、[ の計算] をもう一度選択することを忘れないでください。
上級モード
詳細モード には、ワークロードのより詳細なビューが必要です。 ワークロードのコストとスループットをより正確に見積もるより多くの設定を提供する必要があります。 Capacity Planner の詳細モードを選択するには、Azure への接続に使用するアカウントを使用してツールにサインインする必要があります。 サインイン オプションは、ツールの右上隅にあります。
サインインすると、基本モードよりも詳細なパラメーター セットが表示されます。 さまざまなワークロード パラメーターと入力する値を確認しましょう。
- API - [Cosmos DB API for MongoDB] を選択します。
- リージョンの数 - Azure Cosmos DB for MongoDB はすべての Azure リージョンで使用できます。 ワークロードに必要なリージョンの数を選択します。
- 複数リージョンの書き込み - 有効なの場合、アプリケーションは任意の Azure リージョンの読み取りと書き込みを行うことができます。 無効場合、アプリケーションは 1 つのリージョンにのみデータを書き込むことができますが、選択した任意のリージョンから読み取ることができます。
- 異なるリージョンで短い待機時間の書き込みを必要とするアクティブ/アクティブワークロードが必要な場合に有効にします。
- マルチリージョンの書き込みでは、99.999% の読み取りと書き込みの可用性が保証されます。
- 複数リージョンの書き込みでは、単一の書き込みリージョンと比較して、より多くのスループットが必要になります。
- 既定の整合性 - Azure Cosmos DB for MongoDB では、一貫性、可用性、待機時間のトレードオフのトレードオフを開発者がバランスを取ることができるように、4 つの整合性レベルがサポートされています。 整合性レベルの詳細については、レプリケーション、監視、最適化 モジュールで説明します。
- インデックス作成ポリシー - この設定では、ワークロードがそのインデックスをどのように使用するかを定義します。 インデックスについて詳しくは、Azure Cosmos DB 用の MongoDB データベースの設計 モジュールを参照してください。 詳細については、MongoDB 用 API の インデックス管理 に関するページを参照してください。
- オフ オプションを選択した場合、書き込みの RU 料金が最も低くなるプロパティはインデックス付けされません。 _id フィールドとすべてのクエリのシャード キーを使用してクエリを実行する必要があります。その他のクエリでは、すべてのパーティションがスキャンされます。
- 自動 オプションを選択すると、ドキュメント内のすべてのフィールド/プロパティのインデックスが作成され、柔軟で効率的なクエリが可能になります。
- カスタム オプションを選択した場合は、マルチキー インデックスまたは複合インデックスを使用してインデックスを作成するプロパティを定義できます。
- 後でフォームにインデックスを作成するプロパティの数を入力できます。
- トランザクション ストア に保存されている推定データの合計 (GB) - 単一のリージョン内のトランザクション ストアに保存されているデータの合計。
- 分析ストアを使用する - Synapse 分析ストアを使用する場合は、[オン] を選択します。
- [オン] に設定した場合は、分析ストア に格納されている合計データを入力します。これは、1 つのリージョン に分析ストアに格納された推定データ (GB) を表します。
- ワークロード モード - 予想されるワークロードが [安定] (一定) または [可変] のどちらであるかを選択します。
- ワークロードボリュームが一定であると予想される場合は、安定した を選択します。
- 時間の経過とともにワークロードが変化する場合は、変数 を選択します。 たとえば、週末や休日の季節に売上が大幅に増加する小売企業などです。
- [可変] を選択する場合、[ピーク時の時間の割合]を入力します。
- ピーク間隔とオフピーク間隔では、プログラムによってプロビジョニングされたスループットをそれに応じてスケールアップおよびスケールダウンすることで、コストを最適化できます。
- アイテム サイズ - ドキュメントの推定平均サイズ (1 KB から 2 MB)。
- サンプル (JSON) ドキュメントをアップロードして、より正確な見積もりを行うこともできます。
- ワークロードに同じコンテナー内に複数の種類の項目 (異なる JSON コンテンツを含む) がある場合は、複数の JSON ドキュメントをアップロードして見積もりを取得できます。 [新しい項目の追加] ボタンを使用して、複数のサンプル JSON ドキュメントを追加します。
- 操作の種類 - 検索、集計、変更などの操作の種類。
- 呼び出し あたりの要求ユニット (RU) 料金 - 選択した操作の種類を実行するための推定 RU/秒の料金。
- リージョンあたりの呼び出し数/秒 - リージョンごとに 1 秒あたりに実行された選択した操作の種類の数。
[計算] を選択すると、[コスト見積もり] タブに、ストレージとプロビジョニングされたスループットの合計コストが表示されます。 既定では EST. THROUGHPUT REQUIRED が表示されますが、[詳細の表示] を選択すると、さまざまな種類の CRUD 要求とクエリ要求の推定コストを表示できます。
ヒント
パラメーターを変更して新しい見積もりを取得する場合は、[ の計算] をもう一度選択することを忘れないでください。
手記
すべての価格は米ドルで表示されます。 リージョン別のすべての料金については、Azure Cosmos DB の価格に関するページ を参照してください。