Amazon DynamoDB入門|NoSQLデータベースの設計とRDSとの使い分け

Amazon DynamoDB入門|NoSQLデータベースの設計とRDSとの使い分け
「DynamoDBって何?RDSと何が違うの?」——Amazon DynamoDBのキー設計・テーブル設計・GSI・キャパシティモードとRDSとの使い分け基準を解説します。
💡 DynamoDBはサーバーレスのNoSQLデータベース。「大量のシンプルなアクセス・ミリ秒レベルの低遅延・スキーマレス」という特徴でRDBMSが苦手なユースケースを解決します。
1. DynamoDBとRDSの使い分け
| DynamoDB(NoSQL) | RDS MySQL/Aurora | |
|---|---|---|
| データ構造 | スキーマレス・キーバリュー・ドキュメント型 | スキーマ固定・テーブル・リレーショナル |
| スケーリング | 無限に自動スケール(サーバーレス) | インスタンスサイズに依存 |
| クエリ | 主キー・GSIのみ(JOINは不可) | 複雑なSQLクエリ・JOIN・集計が得意 |
| 最適なユースケース | ユーザーセッション・ゲームランキング・IoTデータ | ECシステム・在庫管理・複雑な集計が必要な業務系 |
2. パーティションキーとソートキーの設計
DynamoDBのテーブル設計で最重要なのはパーティションキー(PK)とソートキー(SK)の設計です。「ユーザーセッション管理」であればPK=user_id・SK=session_idのような設計になります。アクセスパターンを先に定義してからキー設計を行うことがDynamoDB設計の鉄則です。
3. GSI(グローバルセカンダリインデックス)
DynamoDBはプライマリキー以外のアクセスパターンにGSIを使います。例えば「注文テーブルをorder_idで取得する他に、customer_idで注文一覧を取得したい」場合はcustomer_idをPKとするGSIを作成します。GSIはテーブルごとに最大20個まで作成でき、追加の費用がかかります。
4. オンデマンドとプロビジョニングモードの選択
- オンデマンドモード:リクエスト数に応じた従量課金。トラフィックが予測しにくいアプリケーションやスタートアップに最適
- プロビジョニングモード:読み取り・書き込みキャパシティを事前に設定。トラフィックが安定している場合はオンデマンドより安くなる
- Auto Scaling:プロビジョニングモードにAuto Scalingを設定してトラフィック変動に自動対応させることが本番環境の標準
- DynamoDBはJOIN不要・大量単純アクセス・低遅延・スキーマレスのユースケースに最適
- DynamoDB設計の鉄則はアクセスパターンを先に定義してからPK・SK・GSIを設計する
- スタートアップ・予測困難なトラフィックにはオンデマンドモード、安定トラフィックにはプロビジョニング+Auto Scalingを選ぶ
よくある質問(FAQ)
キャリアの疑問、一緒に解決しませんか?
Infra Academyでは、インフラ系ITエンジニアを目指す方への個別サポートを行っています。2026年7月からフリーランス講師として本格始動予定です。
資格取得後のキャリアに、AI活用という選択肢を
資格取得の先に現場でのIT効率化を任される場面が増えます。職場のルーティン業務にAIをどう組み込めるか、無料のセルフ診断(3問・約1分)でヒントが得られます。
この記事を読んでいる方へのおすすめ:
本記事はRoute Bloom編集部が公式ドキュメント・技術仕様書の一次情報をもとに作成しています。ITインフラ・技術情報は急速に変化するため、実装前に最新の公式ドキュメントをご確認ください。情報の正確性には万全を期していますが、最新情報は各公式サイトをご確認ください。
本記事はRoute Bloom編集部が各ベンダー公式ドキュメント・エンジニア監修をもとに作成しています。インフラ・クラウド構築は環境により異なります。本番環境への適用前に必ずテストを実施してください。情報の正確性には万全を期していますが、最新情報は各公式ドキュメントをご確認ください。
この記事で学んだスキルをさらに深めたい方へ
インフラエンジニアのスキルアップに役立つ技術書です。Amazonで探してみましょう。
Amazonアソシエイトプログラムを利用しています。




