Tech Starlog

AWS SAA 試験勉強(8日目)

投稿日:2026/03/08

AWS 認定ソリューションアーキテクト – アソシエイト(SAA-C03)において、データベースは「データの構造」「スケーラビリティ」「可用性」の3軸で選定する必要があります。

「SQLかNoSQLか」という基本から、Auroraの驚異的な性能、さらに特殊な用途向けのDBまで、試験に出るポイントを整理します。


1. RDS(Relational Database Service):伝統的な RDB

既存の MySQL や PostgreSQL などをそのままマネージド環境で動かしたい場合の選択肢です。

  • Multi-AZ: 可用性向上のための必須機能。別AZの待機系へ同期レプリケーションを行い、障害時は自動切り替え。
  • リードレプリカ: 読み取り専用のコピー。非同期レプリケーションで、パフォーマンス向上に使用。
  • RDS Custom: ほとんどのRDSはOSアクセス不可ですが、特定のアプリ(OracleやSQL Serverなど)でOS権限やパッチ調整が必要な場合の選択肢。

2. Amazon Aurora:AWS 最適化された次世代 RDB

RDSの一種ですが、AWSが開発した 高性能RDB です。

  • 圧倒的な耐久性: 3つのAZにまたがって6つのコピーを作成。2つのコピーが失われても書き込み可能、3つ失われても読み取り可能。
  • 高速な復旧: ストレージが計算リソースと分離されているため、障害復旧やレプリカの作成が通常のRDSより圧倒的に速い。
  • Aurora Serverless v2: 負荷に応じて容量を瞬時にスケーリング。予測不能なワークロードに最適。
  • グローバルデータベース: 1つのリージョンから最大5つのリージョンに低レイテンシでレプリケーション。

3. DynamoDB:超高速・無限スケールの NoSQL

「キーバリュー型」のデータベースで、どんなにデータ量が増えてもパフォーマンスが低下しないのが特徴です。

  • 整合性モデル: デフォルトは「結果整合性」だが、オプションで「強力な整合性」も選択可能。
  • DAX (DynamoDB Accelerator): ミリ秒単位の応答をマイクロ秒単位にするためのインメモリキャッシュ。
  • グローバルテーブル: 世界中のリージョンでアクティブ/アクティブな書き込みが可能。
  • TTL (Time to Live): 有効期限を過ぎたデータを自動削除。セッション情報の管理に最適。

4. 特殊な要件で選ぶデータベース

試験では、標準的な RDB/NoSQL 以外が正解になるケースもあります。

  • Amazon ElastiCache:
    • 用途:DBの負荷軽減(キャッシュ)、ランキング管理。
    • 種類:Redis(複雑なデータ構造、永続性)と Memcached(シンプル、マルチスレッド)。
  • Amazon Redshift:
    • 用途:データウェアハウス(分析用)。膨大なデータの集計クエリを投げるならこれ。
  • Amazon DocumentDB:
    • 用途:MongoDB 互換。JSON形式のドキュメントをそのまま扱いたい場合。
  • Amazon Neptune:
    • 用途:グラフデータベース。SNSのつながりや不正検知など、複雑な関係性の分析。

DB選定の「決め手」チェックリスト

試験問題に以下のキーワードがあれば、それぞれのサービスが正解です。

キーワード 推奨サービス
「既存のSQL資産をそのまま使いたい」 RDS
「高い可用性(6コピー)とエンタープライズ性能」 Aurora
「OSへの管理者アクセスが必要」 EC2上のDB または RDS Custom
「ミリ秒未満の応答」「サーバーレス」「スキャマレス」 DynamoDB
「マイクロ秒単位の応答」「セッションストア」 ElastiCache (Redis)
「複雑な集計クエリ」「ペタバイト級の分析」 Redshift

まとめ(8日目の振り返り)

データベース選定では役割の違いを理解することが重要です。
SAA試験では、まず「構造化データ(SQL)か、非構造化データ(NoSQL)か」を見極め、次に「読み取り性能か、書き込み可用性か」という観点で絞り込むのがコツです。