🐨

Azure Cosmos DBの容量モードはどっちを選択するべきか

2024/04/14に公開

前提

・Cosmos DBの使用経験なし
・Azureにそこまで詳しくない、専門はアプリ・API側のエンジニア

Cosmos DBの容量モードは2種類から選択できる

Azure Cosmos DBの容量プランには2つのオプションがあり、それぞれ異なる使用ケースやコスト構造を持っています。

  1. プロビジョニングされたスループット
  2. サーバーレス

それぞれの特徴

プロビジョニングされたスループット

予めスループットを指定しておく必要があるプランです。
スループットはRU/s(Request Units per second)で測定され、これはCosmos DBが1秒間に処理できるリクエストの量を表します。
このプランでは、アプリケーションのトラフィックが予測可能で、一定のリクエスト量を処理する必要がある場合に適しています。
スループットを事前に設定することで、予測可能なパフォーマンスを確保し、ピーク時でも一定のレスポンスを保つことができます。


サーバーレス

使用した分だけ料金が発生する従量課金制のプラン。
スループットを事前に設定する必要がなく、アプリケーションの使用状況に応じて自動的にスケールアップ・ダウンします。
小規模で不定期なトラフィックが予想されるアプリケーションや、開発・テスト環境など、コストを最小限に抑えたい場合に適しています。

どっちを選択したらいいの?

プロビジョニングされたスループット

・企業のメイン製品など、一定の高トラフィックが見込まれるアプリケーション
・トラフィックのピークが予測可能で、常に高速な応答が求められるシステム
・ゲームやEコマースのように、特定の時間帯にトラフィックが集中するサービス


サーバーレス

・新規開発中のアプリケーションやプロトタイプで、トラフィックの量が不明な場合
・イベント駆動型のアプリケーションで、使用量が不規則またはスパイクする場合
・小規模なビジネスやスタートアップ企業で、初期コストを抑えたい場合

要約すると

ダウンすることが許されない大規模なシステムや、常に高可用性が求められ一定のパフォーマンス維持しなければいけないシステムの時は、プロビジョニングされたスループット

軽く触ってみたい、PoCや小規模なアプリケーション、コストをできるだけ抑えたい時はサーバーレス

という認識で大丈夫です。

ヘッドウォータース

Discussion