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

適用対象: NoSQL

Note

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

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

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

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

Azure Cosmos DB で実行する可能性のあるワークロードを評価するときは、迅速で大まかな見積もりを得るために基本モードを使用します。 詳しくは、基本モードでコストを見積もる方法に関するセクションをご覧ください。
上級 詳細な RU/s および費用の見積もりを確認できます。これは、インデックス作成ポリシーや整合性レベルなど、費用とスループットに影響するより多くのパラメーターを調整するのに役立ちます。

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

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

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

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

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

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

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

Capacity Planner の基本モード

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

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

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

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

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

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

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

厳密または有界整合性制約を選択すると、セッション、一貫性のあるプレフィックス、および最終的な整合性と比べて、読み取りに必要な RU/秒が 2 倍になります。 マルチリージョンの書き込みでの厳密な一貫性はサポートされておらず、厳密な一貫性での単一リージョンの書き込みが自動的に既定に設定されます。
インデックス作成ポリシー 既定では、Azure Cosmos DB は、柔軟で効率的なクエリを実行するために、すべての項目のすべてのプロパティのインデックス作成を行います (自動インデックス作成ポリシーにマップされます)。

[オフ] を選択すると、どのプロパティでもインデックスは作成されません。 この場合、書き込みの RU 料金が最も低くなります。 ポイント読み取り (キー値の参照) と書き込み、またはそのいずれかのみを実行し、クエリを実行しない場合は、 [オフ] ポリシーを選択してください。

[自動] を選択すると、Azure CosmosDB によって、項目すべての書き込み時にそれらのインデックスが自動的に作成されます。

カスタム インデックス作成ポリシーを使用すると、書き込みスループットとストレージの量を低下させるために、特定のプロパティをインデックスに含めたりインデックスから除外したりできます。 詳細については、インデックス作成ポリシーインデックス作成ポリシーの例に関する記事を参照してください。
トランザクション ストアに保存されているデータの合計 1 つのリージョンのトランザクション ストアに保存されているデータの推定合計 (GB)。
分析ストアを使用する 分析ストアを使用する場合は、 [オン] を選択します。 [分析ストアに保存されているデータの合計] を入力します。これは、単一のリージョン内の分析ストアに保存されている推定データ (GB) を表します。
ワークロード モード ワークロードのボリュームが一定の場合は、 [Steady](安定) オプションを選択します。

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


たとえば、午前 9 時から午後 6 時の平日の営業時間中に高アクティビティとなるワークロードがある場合、ピーク時の時間のパーセンテージは次のようになります。(9 hours per weekday at peak * 5 days per week at peak) / (24 hours per day at peak * 7 days in a week) = 45 / 168 = ~27%

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

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

ワークロードの複数の種類の項目 (JSON コンテンツが異なる) が同じコンテナー内にある場合は、複数の JSON ドキュメントをアップロードして、見積もりを取得できます。 複数のサンプル JSON ドキュメントを追加するには、 [新しい項目の追加] ボタンを使用します。
プロパティの数 項目あたりのプロパティの平均数
1 秒あたりのポイント読み取り数 リージョンごとに 1 秒あたりに予想されるポイント読み取り操作数。 ポイントの読み取りは、1 つの項目 ID およびパーティション キーにおいてキーと値の参照を行うことです。 ポイント読み取り操作は、クエリ読み取り操作とは異なります。 ポイント読み取りの詳細については、データを読み取るためのオプションに関する記事を参照してください。 ワークロード モードが [Variable](変動) の場合、ピークおよびオフ ピーク時に予想されるポイント読み取り操作数を指定できます。
1 秒あたりの作成数 リージョンごとに 1 秒あたりに予想される作成操作数。
1 秒あたりの更新数 リージョンごとに 1 秒あたりに予想される更新操作数。
1 秒あたりの削除数 リージョンごとに 1 秒あたりに予想される削除操作数。
クエリ数/秒 リージョンごとに 1 秒あたりに予想されるクエリの数。 正確な見積もりを行うには、クエリの平均コストを使用するか、Azure portal のクエリ統計から、クエリで使用する RU/秒を入力します。
クエリあたりの RU/秒の平均的な料金 既定では、リージョンあたりのクエリ数/秒の平均コストは 10 RU/秒で見積もられます。 見積もられたクエリ料金に基づいた RU/秒の料金に応じて、それを増減することができます。

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

Capacity Planner の詳細モード

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

次のステップ