Instiq
第2章 · データストア管理·v2.1.0·更新 2026/6/14·読了目安 約8分

変更要約: 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・1桁ミリ秒・スケーラブル・高スループットアプリ)、RDS/Aurora(リレーショナル SQL・トランザクション/結合・OLTP)、Redshift(列指向 DWH・大規模分析・OLAP)の3つの目的別ストアを並べ、アクセスパターンで選ぶことを示した図。
目的別データストアの選択
  • DynamoDB:キーバリュー NoSQL。高スループット・低遅延のアプリ向け。
  • RDS/Aurora:リレーショナル(SQL)。トランザクションや結合(OLTP)向け。
  • Redshift:列指向 DWH。大規模な集計・分析(OLAP)向け。
  • スキーマ進化:列の追加など変化に備え、Parquet+カタログでスキーマを管理する。

AWS は「1つの DB で全部」ではなくアクセスパターンに最適な目的別ストアを選ぶ思想です。DynamoDB はキーバリュー/ドキュメント NoSQL で、1桁ミリ秒・高スループット・無限スケールのアプリ向け。設計はキー(パーティションキー+ソートキー)とアクセスパターン起点で、検索の幅出しは GSI、リアルタイム連携は DynamoDB Streams、超低遅延キャッシュは DAXRDS/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)で誤削除・ランサムウェアに備えます。

用途サービス要点
ドキュメント DBAmazon DocumentDBMongoDB 互換
ワイドカラムAmazon KeyspacesCassandra 互換・高スループット
耐久インメモリAmazon MemoryDB for RedisRedis 互換・プライマリ 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)を高速に行うのに最も適すデータストアはどれですか?

理解度を確認第2章「データストア管理」の問題を解く