Azure Cosmos DB Capacity Planner を使用して RU/秒を見積もる - Azure Cosmos DB for MongoDB

適用対象: MongoDB

Note

Azure Cosmos DB へのデータ移行を計画しており、知っていることが既存のシャード化およびレプリケートされたデータベース クラスター内の仮想コアとサーバーの数のみである場合、仮想コアまたは仮想 CPU の数を使用した要求ユニットの見積もりに関するページも参照してください。

ワークロードにとって適切な量のプロビジョニング済みスループット、つまり要求ユニット (RU/秒) を使用してデータベースとコレクションを構成することは、コストとパフォーマンスの最適化に不可欠です。 この記事では、Azure Cosmos DB Capacity Planner を使用して、Azure Cosmos DB for MongoDB の使用時にワークロードに必要な RU/秒とコストの見積もりを取得する方法について説明します。 NoSQL 用 API を使用している場合は、NoSQL 用 API で容量計算ツールを使用する方法に関する記事を参照してください。

キャパシティ プランナーのモード

  • Basic

    迅速で大まかな RU/秒とコストの見積もりを提供します。 このモードは、インデックス作成ポリシー、一貫性、およびその他のパラメーターに対して既定の Azure Cosmos DB 設定を前提としています。

    Azure Cosmos DB で実行できるワークロードの評価時に、迅速におおまかな見積もりを得るには基本モードを使用します。 詳しくは、基本モードでコストを見積もる方法に関するセクションをご覧ください。

  • 上級

    インデックス作成ポリシー、整合性レベル、コストとスループットに影響するその他のパラメーターを調整する機能があり、より詳細な RU/秒とコストの見積もりを提供します。

    新しいプロジェクトの RU/秒の見積もりを作成するか、より詳細な見積もりが必要なときは、詳細モードを使用します。 詳しくは、詳細モードでコストを見積もる方法に関するセクションをご覧ください。

基本モードを使用してプロビジョニング済みスループットとコストを見積もる

基本モードを使ってワークロードの素早い見積もりを取得するには、Capacity Planner に移動します。 該当のワークロードに基づいて次のパラメーターを入力します。

入力 説明
API MongoDB 用 API を選択します
リージョンの数 Azure Cosmos DB for MongoDB はすべての Azure リージョンで利用できます。 該当のワークロードに必要なリージョンの数を選択します。 ご使用のアカウントには、任意の数のリージョンを関連付けることができます。 詳細については、グローバル分散に関する記事を参照してください。
マルチリージョンの書き込み マルチリージョンの書き込みを有効にすると、お使いのアプリケーションは任意の Azure リージョンに対して読み取りおよび書き込みを行うことができます。 マルチリージョンの書き込みを無効にすると、アプリケーションは単一リージョンに対してデータの書き込みを行うことができます。

さまざまなリージョンでの待機時間の短い書き込みを必要とするアクティブ/アクティブのワークロードが予期される場合は、マルチリージョンの書き込みを有効にしてください。 たとえば、さまざまなリージョンでデータベースにデータを大量に書き込む IOT ワークロードがあります。

マルチリージョンの書き込みでは、99.999% の読み取りと書き込みの可用性が保証されます。 マルチリージョンの書き込みでは、単一の書き込みリージョンと比べて、より多くのスループットが必要になります。 詳細については、単一の書き込みリージョンと複数の書き込みリージョンでの RU の違いに関する記事を参照してください。
トランザクション ストアに保存されているデータの合計 1 つのリージョンのトランザクション ストアに保存されているデータの推定合計 (GB)。
分析ストアを使用する Synapse 分析ストアを使用する場合は、 [オン] を選択します。 [分析ストアに保存されているデータの合計] を入力します。これは、単一のリージョン内の分析ストアに保存されている推定データ (GB) を表します。
アイテムのサイズ ドキュメントの推定サイズ (1 KB ~ 2 MB)。
1 秒あたりの検索数 リージョンごとに 1 秒あたりに予想される検索操作数。
挿入数/秒 リージョンごとに 1 秒あたりに予想される挿入操作数。
1 秒あたりの更新数 リージョンごとに 1 秒あたりに予想される更新操作数。 自動インデックス作成を選択すると、更新操作の推定 RU/秒は、1 回の更新ごとに 1 つのプロパティが変更されるものとして計算されます。
1 秒あたりの削除数 リージョンごとに 1 秒あたりに予想される削除操作数。

必要な詳細を入力したら、 [計算] を選択します。 [コストの見積もり] タブに、ストレージとプロビジョニング済みスループットの合計コストが表示されます。 このタブの [詳細の表示] リンクを展開すると、さまざまな CRUD やクエリ要求に必要なスループットの内訳を表示できます。 フィールドの値を変更するたびに、[計算] を選択して見積もりコストを再計算してください。

Capacity Planner の基本モード

詳細モードを使用してプロビジョニング済みスループットとコストを見積もる

詳細モードでは、RU/秒の見積もりに影響を与える追加の設定を指定できます。 このオプションを使用するには、Capacity Planner に移動し、Azure 用に使用するアカウントでこのツールにサインインします。 サインイン オプションは、右側の隅にあります。

サインインすると、基本モードのフィールドと比べてより多くのフィールドが表示されます。 他のパラメーターは、ご利用のワークロードに基づいて入力してください。

入力 説明
API Azure Cosmos DB は、マルチモデルおよびマルチ API のサービスです。 MongoDB 用 API を選択します。
リージョンの数 Azure Cosmos DB for MongoDB はすべての Azure リージョンで利用できます。 該当のワークロードに必要なリージョンの数を選択します。 ご使用の Azure Cosmos DB アカウントには、任意の数のリージョンを関連付けることができます。 詳細については、グローバル分散に関する記事を参照してください。
マルチリージョンの書き込み マルチリージョンの書き込みを有効にすると、お使いのアプリケーションは任意の Azure リージョンに対して読み取りおよび書き込みを行うことができます。 マルチリージョンの書き込みを無効にすると、アプリケーションは単一リージョンに対してデータの書き込みを行うことができます。

さまざまなリージョンでの待機時間の短い書き込みを必要とするアクティブ/アクティブのワークロードが予期される場合は、マルチリージョンの書き込みを有効にしてください。 たとえば、さまざまなリージョンでデータベースにデータを大量に書き込む IOT ワークロードがあります。

マルチリージョンの書き込みでは、99.999% の読み取りと書き込みの可用性が保証されます。 マルチリージョンの書き込みでは、単一の書き込みリージョンと比べて、より多くのスループットが必要になります。 詳細については、単一の書き込みリージョンと複数の書き込みリージョンでの RU の違いに関する記事を参照してください。
既定の一貫性 Azure Cosmos DB for MongoDB では 5 つの一貫性レベルがサポートされており、開発者は一貫性、可用性、待機時間のトレードオフのバランスを取ることができます。 詳細については、一貫性レベルに関する記事を参照してください。

既定では、MongoDB 用 API はセッションの一貫性を使用します。これにより、セッションで自分の書き込みを読み取ることができるようになります。

厳密または有界整合性制約を選択すると、セッション、一貫性のあるプレフィックス、および最終的な整合性と比べて、読み取りに必要な RU/秒が 2 倍になります。 マルチリージョンの書き込みでの厳密な一貫性はサポートされておらず、厳密な一貫性での単一リージョンの書き込みが自動的に既定に設定されます。
インデックス作成ポリシー [オフ] オプションを選択すると、どのプロパティでもインデックスは作成されません。 この場合、書き込みの RU 料金が最も低くなります。 すべてのクエリで _id フィールドとシャード キー (どちらもクエリごと) を使用したクエリのみを計画している場合は、インデックス作成ポリシーをオフにします。

[自動] オプションを選択した場合、3.6 以降のバージョンの MongoDB 用 API では自動的に _id フィールドにインデックスが作成されます。 自動インデックス作成を選択する場合、それは (すべてのプロパティのインデックスが自動的に作成される) ワイルドカード インデックスを設定することに相当します。 柔軟で、かつ効率的なクエリのためには、すべてのフィールドでワイルドカード インデックスを使用してください。

[カスタム] オプションを選択する場合は、マルチキー インデックスまたは複合インデックスでインデックスが作成されるプロパティの数を設定できます。 フォームの後半でインデックス作成したプロパティの数を入力できます。 詳細については、MongoDB 用 API でのインデックス管理を参照してください。
トランザクション ストアに保存されているデータの合計 単一リージョン内のトランザクション ストアに保存されている推定データの合計 (GB)。
分析ストアを使用する Synapse 分析ストアを使用する場合は、 [オン] を選択します。 [分析ストアに保存されているデータの合計] を入力します。これは、単一のリージョン内の分析ストアに保存されている推定データ (GB) を表します。
ワークロード モード ワークロードのボリュームが一定の場合は、 [Steady](安定) オプションを選択します。

ワークロードのボリュームが時間の経過とともに変化する場合は、 [Variable](変動) オプションを選択します。 たとえば、特定の 1 日間や 1 か月間などです。 [Variable](変動) のワークロード オプションを選択した場合、次の設定を使用できます。
  • ピーク時の時間のパーセンテージ:ワークロードでピーク (最高) のスループットが必要となる、1 か月間の時間のパーセンテージ。


たとえば、午前 9 時から午後 6 時の平日の営業時間中に高アクティビティとなるワークロードがある場合、ピーク時の時間のパーセンテージは次のようになります。ピーク時の 45 時間/730 時間/月 = ~6%。

ピーク時とオフピーク時の間隔を使って、それに応じてプロビジョニング済みスループットをプログラムで拡大縮小することで、コストを最適化できます。
アイテムのサイズ ドキュメントのサイズ (1 KB ~ 2 MB)。 複数のサンプル項目について見積もりを追加できます。

また、より正確な見積もりを得るために、サンプル (JSON) ドキュメントをアップロードすることもできます。

ワークロードの複数の種類の項目 (JSON コンテンツが異なる) が同じコンテナー内にある場合は、複数の JSON ドキュメントをアップロードして、見積もりを取得できます。 複数のサンプル JSON ドキュメントを追加するには、 [新しい項目の追加] ボタンを使用します。
操作の種類 操作の種類 (検索集計変更など)。
呼び出しあたりの要求ユニット (RU) の料金 選択された操作の種類を実行するための、1 秒あたりの推定 RU 料金。
リージョンごとの呼び出し数/秒 リージョンごとに 1 秒あたりに実行される、選択した操作の種類の数。

また、 [Save Estimate](見積もりの保存) ボタンを使用して、現在の見積もりを含む CSV ファイルをダウンロードすることもできます。

Capacity Planner の詳細モード

Capacity Planner に表示される価格は、スループットとストレージの公開価格料金に基づいた見積もりです。 すべての価格は米ドルで表示されます。 リージョン別のすべての料金を確認するには、Azure Cosmos DB の価格のページを参照してください。

次のステップ