導入
ここまでいくつものデータベースサービスが出てきました。「結局どれをいつ使うのか」を一枚の地図として整理しておきましょう。
説明
AWSの主なデータベースサービスと、その用途を対応させると次のようになります。
| 用途 | サービス | ひとこと |
|---|---|---|
| リレーショナル(表・SQL) | RDS / Aurora | 複雑な関係性を扱う業務データの基本形 |
| キーバリュー・NoSQL | DynamoDB | 超高速・大量アクセス・柔軟なスキーマ |
| インメモリキャッシュ | ElastiCache | データベース手前で応答を高速化(Redis/Memcached) |
| 分析・データウェアハウス | Redshift | 大量データの集計・BI分析(OLAP) |
| グラフ | Neptune | 「誰が誰とつながっているか」のような関係性データ(SNS・レコメンド) |
| データベース移行 | AWS DMS(Database Migration Service) | オンプレミスのDBをAWSへ、ダウンタイムを抑えて移行する |
flowchart TD
Q["どんなデータを扱いたいか"] --> Q1{"複雑な関係を\nSQLで扱いたい?"}
Q1 -->|はい| RDS["RDS / Aurora"]
Q1 -->|いいえ| Q2{"超高速・大量・\n柔軟な形式?"}
Q2 -->|はい| DDB["DynamoDB"]
Q2 -->|いいえ| Q3{"つながり・関係性が主役?"}
Q3 -->|はい| Nep["Neptune"]
Q3 -->|いいえ| Q4{"集計・分析が主目的?"}
Q4 -->|はい| Red["Redshift"]
CLF試験では、シナリオ文(「◯◯なアプリを作りたい、どのデータベースが適切か」)から、この対応表を逆引きして答える形式の問題がよく出ます。サービス名を単独で覚えるより、「用途→サービス」の対応で覚えるほうが実戦的です。
読んでみよう
迷ったら「関係性が複雑ならRDS/Aurora、速さと規模ならDynamoDB、分析ならRedshift」という3択にまず絞り込むと、試験本番でも判断しやすくなります。