用語解説
Amazon DynamoDBとは、AWSが提供するフルマネージドのNoSQLデータベースサービスです。ミリ秒以下の応答速度と無制限のスケーラビリティを特徴とし、1日に何兆ものリクエストを処理できます。
テーブル設計の中心となるのはパーティションキーとソートキーの組み合わせで、アクセスパターンを事前に設計することがパフォーマンスとコストの最適化に直結します。グローバルテーブル機能により複数リージョンへのレプリケーションも可能です。
どんな場面で活用するか
- ゲームのユーザースコアやセッション情報など高頻度・低レイテンシが求められる場合
- IoTデバイスからの大量のセンサーデータを時系列で格納・クエリする場合
- Eコマースのショッピングカートやユーザープロファイルを高速に読み書きする場合
よくある誤解
「DynamoDBはRDBMSと同じようにJOINやサブクエリが使える」は誤りです。正しくはDynamoDBはJOINをサポートしません。複数エンティティの結合が必要な場合はテーブル設計でシングルテーブル設計パターンを採用するか、RDSの利用を検討します。
判断のヒント
キャパシティモード:トラフィックが予測可能な場合はプロビジョンドキャパシティ・予測困難な場合はオンデマンドキャパシティを選択します。DynamoDB Accelerator(DAX)でキャッシュ層を追加するとさらにμs応答を実現できます。