Amazon DynamoDB
ミリ秒単位のレイテンシを保証するフルマネージドな NoSQL データベースサービスで、どんな規模のトラフィックにも自動スケールする
概要
Amazon DynamoDB は、キーバリュー型とドキュメント型の両方のデータモデルをサポートするフルマネージドな NoSQL データベースサービスです。AWS は一桁ミリ秒台のレスポンスタイムを掲げており、データ量やリクエスト数が増えても一貫した応答性能を維持できるとしています。テーブルの作成後はキャパシティの管理を AWS に任せるオンデマンドモードと、事前にスループットを指定するプロビジョンドモードの 2 つの課金方式から選択できます。2026 年 9 月時点の AWS 公式ドキュメントによると、グローバルテーブル機能を使えば複数のリージョンにデータを自動複製し、各リージョンで読み書きできるマルチリージョン構成を組めます。DynamoDB Streams を使えばテーブルの変更をリアルタイムにキャプチャし、Lambda 関数でイベント駆動型の処理を実行できます。
パーティションキー設計とホットパーティション回避
DynamoDB のパフォーマンスはパーティションキーの設計に直結します。データは内部的にパーティションキーのハッシュ値に基づいて分散配置されるため、カーディナリティの高い属性 (ユーザー ID、注文 ID など) を選ぶことでリクエストが均等に分散されます。逆に日付やステータスのようなカーディナリティの低い属性をパーティションキーにすると、特定のパーティションにアクセスが集中するホットパーティション問題が発生し、スロットリングの原因になります。対策としては、パーティションキーにランダムサフィックスを付与する書き込みシャーディングや、複合キー (例: ユーザー ID + タイムスタンプ) の採用が有効です。グローバルセカンダリインデックス (GSI) を使えば主キー以外の属性でも効率的なクエリが可能ですが、GSI ごとに追加のストレージとスループットが消費されるため、必要最小限に抑えることが重要です。Azure Cosmos DB もパーティションキーの概念を持ちますが、スループットの分散方式が異なるため、DynamoDB のキー設計をそのまま移植すると性能問題が起きる場合があります。移行を検討する際は、両サービスの公式ドキュメントで最新のスループット設計を確認してください。
オンデマンドモードとプロビジョンドモードの判断基準
DynamoDB の課金方式は 2 つあり、ワークロードの特性に応じて選択します。オンデマンドモードはリクエストごとの従量課金で、キャパシティの事前見積もりが不要です。読み取り・書き込みリクエストユニットの単価は Amazon DynamoDB の公式料金ページで確認してください。トラフィックが予測困難な新規サービスや、スパイクが激しいワークロードに向いています。プロビジョンドモードは事前にスループット (RCU/WCU) を指定する方式で、安定したトラフィックパターンが見えている場合はオンデマンドより費用を抑えやすくなります。リザーブドキャパシティを組み合わせればさらに割引を受けられますが、契約期間と割引率は公式料金ページの記載に従います。実務では、サービス立ち上げ期はオンデマンドで始め、トラフィックパターンが安定してきたらプロビジョンドに切り替えるのが定石です。
DAX、TTL、バックアップによる運用最適化
DynamoDB Accelerator (DAX) はインメモリキャッシュレイヤーで、AWS は読み取りレイテンシをミリ秒からマイクロ秒台へ短縮できるとしています (2026 年 9 月時点)。読み取りが支配的なワークロード (リーダーボード、セッション管理など) で特に効果を発揮しますが、書き込み直後の読み取り一貫性が不要なケースに限定されます。TTL (Time to Live) 機能を有効にすれば、有効期限切れのアイテムが自動削除され、ストレージコストの肥大化を防げます。セッションデータや一時トークンの管理に最適です。バックアップにはポイントインタイムリカバリ (PITR) とオンデマンドバックアップの 2 種類があります。PITR を有効にすれば過去 35 日間の任意の時点にテーブルを復元でき、オペレーションミスからの復旧に備えられます。DynamoDB Streams を使えばテーブルの変更をリアルタイムにキャプチャし、Lambda 関数でイベント駆動型の後続処理 (検索インデックスの更新、集計テーブルへの反映など) を実行できます。
参考資料 (AWS 公式)
本ページの一次情報は AWS 公式サイトおよび公式ドキュメントです。最新の仕様 / 料金は次の公式ページで確認できます。
本ページと公式ドキュメントの記述が食い違う場合は、公式ドキュメントを正としてください。