キー値ストアとしての Azure Cosmos DB - コストの概要

適用対象: NoSQL

Azure Cosmos DB は、高可用性で大規模なアプリケーションを簡単に構築するための、マルチモデルなグローバル分散データベース サービスです。 既定では、Azure Cosmos DB が取り込むすべてのデータのインデックスが効率よく自動作成されます。 これにより、データに対する高速かつ一貫性のある SQL (および JavaScript) クエリが可能になります。

この記事では、キー/値ストアとして Azure Cosmos DB を使用し、シンプルな書き込みと読み取り操作を行う際のコストについて説明しています。 書き込み操作には、データ項目の挿入、置換、削除、upsert などがあります。 すべての複数地域のアカウントに対して可用性 99.999% の SLA を保証することに加えて、Azure Cosmos DB では、99 パーセンタイルで、読み取り時と (インデックス設定済みの) 書き込み時に 10 ミリ秒未満の待機時間を保証します。

要求ユニット (RU) を使用する理由

Azure Cosmos DB のパフォーマンスは、要求ユニット (RU/秒) で表される、プロビジョニングされたスループットの量に基づいています。 このプロビジョニングの粒度は 1 秒で、RU/秒の単位で購入されます (時間単位での課金と混同しないでください)。 RU は、アプリケーションに必要とされるスループットのプロビジョニングを簡略化するための論理的な抽象化 (通貨) と見なされます。 ユーザーは、読み取りと書き込みのスループット間の違いを考慮する必要はありません。 RU の単一通貨モデルにより、プロビジョニングされた容量を読み取りと書き込みの間で共有する際の効率が上がります。 容量がプロビジョニングされるというこのモデルでは、このサービスによる予測可能で一貫性のあるスループットの提供、待機時間の短縮、可用性の向上が可能になります。 最後に、RU モデルはスループットを表すために使用されますが、プロビジョニングされる各 RU には、定義された量のリソース (メモリ、コア/CPU、IOPS など) も含まれます。

グローバル分散データベース システムである Azure Cosmos DB は、待機時間、スループット、整合性、高可用性を含む包括的な SLA を提供している唯一の Azure サービスです。 お客様がプロビジョニングするスループットは、ご利用の Azure Cosmos DB アカウントに関連付けられている各リージョンに適用されます。 読み取りに関しては、Azure Cosmos DB では明確に定義された複数の整合性レベルが用意されており、その中から選択できます。

次の表は、既定の自動インデックス作成をオフにした状態で、1 KB と 100 KB のサイズのデータ項目に基づいて読み取りおよび書き込み操作を実行するのに必要な RU 数を示しています。

アイテムのサイズ 読み取り 1 回 書き込み 1 回
1 KB 1 RU 5 RU
100 KB 10 RU 50 RU

読み取りと書き込みのコスト

1,000 RU/秒をプロビジョニングする場合は、この量は 360 万 RU/時間となり、その 1 時間のコストは 0.08 ドルになります (米国とヨーロッパの場合)。 サイズが 1 KB のデータ項目では、プロビジョニングしたスループットを使用して、360 万回の読み取りまたは 72 万回の書き込み (360 万 RU / 5) が可能です。 100 万回の読み取りおよび書き込みに当てはめると、コストは 0.022 ドル/読み取り 100 万回 (0.08 ドル / 3.6)、0.111 ドル/書き込み 100 万回 (0.08 ドル / 0.72) となります。 下記の表にあるように、100 万回あたりのコストが最低となります。

アイテムのサイズ 100 万回の読み取りのコスト 100 万回の書き込みのコスト
1 KB 0.022 ドル 0.111 ドル
100 KB 0.222 ドル 1.111 ドル

基本的な BLOB またはオブジェクト ストア サービスの多くでは、読み取りトランザクション 100 万回につき 0.40 ドル、書き込みトランザクション 100 万回につき 5 ドルが課金されます。 最適な方法で使用した場合は、Azure Cosmos DB では他のソリューションと比べて最大で 98% のコストを削減できます (1 KB のトランザクションの場合)。

次のステップ

  • RU 計算ツールを使用して、ワークロードのスループットを見積もります。