Azure Cosmos DBの容量モードはどっちを選択するべきか
前提
・Cosmos DBの使用経験なし
・Azureにそこまで詳しくない、専門はアプリ・API側のエンジニア
Cosmos DBの容量モードは2種類から選択できる
Azure Cosmos DBの容量プランには2つのオプションがあり、それぞれ異なる使用ケースやコスト構造を持っています。
- プロビジョニングされたスループット
- サーバーレス
それぞれの特徴
プロビジョニングされたスループット
予めスループットを指定しておく必要があるプランです。
スループットはRU/s(Request Units per second)で測定され、これはCosmos DBが1秒間に処理できるリクエストの量を表します。
このプランでは、アプリケーションのトラフィックが予測可能で、一定のリクエスト量を処理する必要がある場合に適しています。
スループットを事前に設定することで、予測可能なパフォーマンスを確保し、ピーク時でも一定のレスポンスを保つことができます。
サーバーレス
使用した分だけ料金が発生する従量課金制のプラン。
スループットを事前に設定する必要がなく、アプリケーションの使用状況に応じて自動的にスケールアップ・ダウンします。
小規模で不定期なトラフィックが予想されるアプリケーションや、開発・テスト環境など、コストを最小限に抑えたい場合に適しています。
どっちを選択したらいいの?
プロビジョニングされたスループット
・企業のメイン製品など、一定の高トラフィックが見込まれるアプリケーション
・トラフィックのピークが予測可能で、常に高速な応答が求められるシステム
・ゲームやEコマースのように、特定の時間帯にトラフィックが集中するサービス
サーバーレス
・新規開発中のアプリケーションやプロトタイプで、トラフィックの量が不明な場合
・イベント駆動型のアプリケーションで、使用量が不規則またはスパイクする場合
・小規模なビジネスやスタートアップ企業で、初期コストを抑えたい場合
要約すると
ダウンすることが許されない大規模なシステムや、常に高可用性が求められ一定のパフォーマンス維持しなければいけないシステムの時は、プロビジョニングされたスループット
軽く触ってみたい、PoCや小規模なアプリケーション、コストをできるだけ抑えたい時はサーバーレス
という認識で大丈夫です。
Discussion