Amazon DynamoDB
概要

従来のリレーショナルデータベース(RDB)は行と列を組み合わせた表形式でデータを管理し、複雑な結合や集計が得意だが、大量の書き込みや読み込みが発生する場面では拡張性に限界が生じやすい。DynamoDBはリレーショナル型とは異なる「NoSQLデータベース」で、「キーバリューストア」(KVS:Key-Value Store)あるいは「ドキュメント指向データベース」としての機能を提供する。
KVSは1件のデータを「キー」(key)と「値」(value)のペアとして管理する方式で、ドキュメント指向DBは1件ごとに非定型のデータをそのまま格納する方式である。RDBのようにスキーマ(内部設計)が固定されていないため、アプリケーションの仕様変更に伴うデータ構造の変化にも柔軟に対応できる。
データモデルの中心となるのは「テーブル」「アイテム」「属性」の3要素である。テーブルはRDBにおけるテーブルの概念を借用したもので、アイテムは各レコード、属性はそれぞれのデータ項目にあたる。各アイテムはパーティションキーによって一意に識別され、必要に応じてソートキーを組み合わせた複合キーも利用できる。
キャパシティの管理方法として、アクセス量に応じて自動調整される「オンデマンドモード」と、あらかじめ読み書きの処理能力を指定する「プロビジョニングモード」の2種類が用意され、用途やコスト要件に応じて選択できる。データの自動バックアップや、マルチリージョン(複数地域にまたがるデータセンター群)へのレプリケーション、保存データの暗号化といった機能も標準で提供されている。
Amazon DynamoDBが特に適しているのは、利用者数やアクセス数が急激に変動するWebサービスやモバイルアプリなどの用途である。ゲームのスコアデータや進行状況の管理、ECサイトにおけるセッション情報の保持、IoTデバイスから送られるセンサーデータの蓄積などで広く活用されている。