変更要約: in-scope サービス網羅: 目的別ストア/ストレージ(DocumentDB/Keyspaces/MemoryDB/S3 Tables/EFS/CloudFront/Backup)を追加
2.3目的別データストアの選択
アクセスパターンに応じた目的別データストアの選択(DynamoDB=NoSQL、RDS/Aurora=リレーショナル OLTP、Redshift=OLAP)、カタログとスキーマ進化の考え方を理解します。
AWS は1つのデータベースで全てをこなすのではなく、アクセスパターンに最適な目的別ストアを選ぶ思想です。代表例を押さえましょう。
2.3.1目的別ストアの選択
- DynamoDB:キーバリュー NoSQL。高スループット・低遅延のアプリ向け。
- RDS/Aurora:リレーショナル(SQL)。トランザクションや結合(OLTP)向け。
- Redshift:列指向 DWH。大規模な集計・分析(OLAP)向け。
- スキーマ進化:列の追加など変化に備え、Parquet+カタログでスキーマを管理する。
AWS は「1つの DB で全部」ではなくアクセスパターンに最適な目的別ストアを選ぶ思想です。DynamoDB はキーバリュー/ドキュメント NoSQL で、1桁ミリ秒・高スループット・無限スケールのアプリ向け。設計はキー(パーティションキー+ソートキー)とアクセスパターン起点で、検索の幅出しは GSI、リアルタイム連携は DynamoDB Streams、超低遅延キャッシュは DAX。RDS/Aurora はリレーショナル(SQL)で、トランザクション・結合・整合性が要る OLTP 向け。Redshift は列指向 DWH で 大規模集計・分析(OLAP) 向け。ほかにも時系列=Timestream、グラフ=Neptune、インメモリ=ElastiCache/MemoryDB、全文検索/ログ分析=OpenSearch と、用途で使い分けます。データの形(構造化/半構造化)と スキーマ進化(列追加など)は、レイク側では Parquet+カタログ、テーブルフォーマット(Iceberg)で吸収します。判断軸は「キーで引く高速アプリ=DynamoDB」「結合・整合性=RDS/Aurora」「集計分析=Redshift」です。
| アクセスパターン | 最適なストア |
|---|---|
| キーで引く高スループットアプリ | DynamoDB |
| トランザクション・結合(OLTP) | RDS / Aurora |
| 大規模な集計・分析(OLAP) | Redshift |
| 全文検索・ログ分析 | OpenSearch |
シナリオ:注文アプリのバックエンド+分析基盤を設計する。 注文の読み書きは DynamoDB(キーで高速・スケール、変更は Streams で下流へ)。請求や在庫の整合性が要る処理は RDS/Aurora(OLTP)。日次の売上集計・BI は Redshift(OLAP)に集約。ログの全文検索は OpenSearch。1つに寄せず、用途で分けます。
Q. キーで引く高速アプリ? DynamoDB。Q. トランザクション/結合? RDS/Aurora。Q. 大規模分析? Redshift。Q. 全文検索/ログ分析? OpenSearch。Q. DynamoDB で別キーの検索? GSI。Q. 変更を下流連携? DynamoDB Streams。
混同に注意:
①DynamoDB は結合や集計分析に不向き——分析は Redshift/Athena へ流す。
②Redshift は OLTP(多数の小さな書き込み)に不向き。
③DynamoDB は事前のアクセスパターン設計が必須(後付けの自由検索は GSI でも限界)。
④「全部リレーショナルで」は反パターン——目的別に選ぶ。
2.3.2目的別ストア・ストレージの in-scope サービス
目的別データストアには、リレーショナル/キーバリュー以外の選択肢も in-scope です。Amazon DocumentDB は MongoDB 互換のドキュメント DB で、ネストした JSON を扱うアプリ向け。Amazon Keyspaces は Apache Cassandra 互換のワイドカラム ストアで、大規模・高スループットの書き込みに向きます。Amazon MemoryDB for Redis は Redis 互換のインメモリ DB ですが、ElastiCache がキャッシュ層なのに対し、すべての書き込みをマルチ AZ のトランザクションログに永続化するためプライマリ DB として使える耐久性を持ちます。 分析用のテーブルストレージとして Amazon S3 Tables は Apache Iceberg 形式のテーブルをマネージドに保存し、自動コンパクションで最適化して Athena/EMR/Spark から効率的にクエリできます。共有ファイルが必要なら Amazon EFS が複数インスタンスから同時マウントできる POSIX 準拠の自動スケール ストレージ、配信の高速化には Amazon CloudFront(CDN)でデータ/コンテンツをエッジキャッシュします。データ保護は AWS Backup で S3/EBS/EFS/RDS/DynamoDB 等のバックアップを一元管理し、クロスリージョン/クロスアカウントコピーや Vault Lock(WORM)で誤削除・ランサムウェアに備えます。
| 用途 | サービス | 要点 |
|---|---|---|
| ドキュメント DB | Amazon DocumentDB | MongoDB 互換 |
| ワイドカラム | Amazon Keyspaces | Cassandra 互換・高スループット |
| 耐久インメモリ | Amazon MemoryDB for Redis | Redis 互換・プライマリ DB 可 |
| 分析テーブル | Amazon S3 Tables | マネージド Iceberg |
| 共有ファイル / 配信 / 保護 | EFS / CloudFront / AWS Backup | 同時マウント / CDN / 一元バックアップ |
2.3.3この節のまとめ
- DynamoDB(NoSQL)/RDS・Aurora(OLTP)/Redshift(OLAP)を使い分け
- アクセスパターンで最適なストアを選ぶ
- 目的別=DocumentDB/Keyspaces/MemoryDB、分析表=S3 Tables、共有/配信/保護=EFS/CloudFront/Backup
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. 高スループットで1桁ミリ秒の低遅延が必要なキーバリュー型ワークロードに最も適すのはどれですか?
Q2. トランザクションや複雑な結合を伴うリレーショナルな業務処理(OLTP)に最も適すのはどれですか?
Q3. 大規模な集計・分析(OLAP)を高速に行うのに最も適すデータストアはどれですか?

