📝

DynamoDB のスループットモード

に公開

DynamoDB とは?

AWSが提供するフルマネージドなNoSQLデータベースサービスです。NoSQLなため、RDB(リレーショナルデータベース)とは違って、表形式だけど柔軟な構造でデータを扱うことができます(スキーマレス)。
また、フルマネージドなため、サーバーの構築・運用・スケーリングなどはすべてAWSが自動で管理してくれます。
さらに、大量のデータや高いアクセス数でも高速に動作し、自動でスケールし、保存したデータ量やリクエスト数に応じて課金されます。

2つのスループットモード

DynamoDBでは、テーブルの「読み書きの性能(スループット)」を管理する方法として、次の2種類のモードがあります。

  1. オンデマンドモード(従量課金・自動スケール)
    特徴としては、読み書き量を事前に決めなくてよい(キャパシティ指定不要)、利用した分だけ料金が発生(従量課金制)する、トラフィックが急に増えても自動でスケーリングする などが挙げられます。
    このスループットモードを使用するケースとしては、アクセス量が読めない、開発初期や、アクセスが不定期なアプリを作成する時などが挙げられます。

  2. プロビジョンドモード(固定キャパシティ・予約制)
    特徴としては、「1秒あたりの読み書き回数」を自分で指定する必要がある、実際の使用量に関係なく指定した分だけの料金がかかる、使い方が安定していればコストが予測しやすい などが挙げられます。
    このスループットモードを使用するケースとしては、アクセスパターンが安定していて、予測できる場合や、コストを固定したい場合などが挙げられます。

※注意点としては、スループットモードを途中で切り替えることも可能ですが、切り替えには制限や考慮点があります(例えば、頻繁な切り替えは避けるべき)。
なので、どちらのモードが適しているかは、アプリの利用パターンやコストの考え方によって決まります。

参考

https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/capacity-mode.html

GitHubで編集を提案

Discussion