DynamoDB のスループットモード
DynamoDB とは?
AWSが提供するフルマネージドなNoSQLデータベースサービスです。NoSQLなため、RDB(リレーショナルデータベース)とは違って、表形式だけど柔軟な構造でデータを扱うことができます(スキーマレス)。
また、フルマネージドなため、サーバーの構築・運用・スケーリングなどはすべてAWSが自動で管理してくれます。
さらに、大量のデータや高いアクセス数でも高速に動作し、自動でスケールし、保存したデータ量やリクエスト数に応じて課金されます。
2つのスループットモード
DynamoDBでは、テーブルの「読み書きの性能(スループット)」を管理する方法として、次の2種類のモードがあります。
-
オンデマンドモード(従量課金・自動スケール)
特徴としては、読み書き量を事前に決めなくてよい(キャパシティ指定不要)、利用した分だけ料金が発生(従量課金制)する、トラフィックが急に増えても自動でスケーリングする などが挙げられます。
このスループットモードを使用するケースとしては、アクセス量が読めない、開発初期や、アクセスが不定期なアプリを作成する時などが挙げられます。 -
プロビジョンドモード(固定キャパシティ・予約制)
特徴としては、「1秒あたりの読み書き回数」を自分で指定する必要がある、実際の使用量に関係なく指定した分だけの料金がかかる、使い方が安定していればコストが予測しやすい などが挙げられます。
このスループットモードを使用するケースとしては、アクセスパターンが安定していて、予測できる場合や、コストを固定したい場合などが挙げられます。
※注意点としては、スループットモードを途中で切り替えることも可能ですが、切り替えには制限や考慮点があります(例えば、頻繁な切り替えは避けるべき)。
なので、どちらのモードが適しているかは、アプリの利用パターンやコストの考え方によって決まります。
参考
Discussion