本文へスキップ
BecomeCoder

AWSコース · 第5章 データベース · レッスン26

データベースサービスの使い分けまとめ

導入

ここまでいくつものデータベースサービスが出てきました。「結局どれをいつ使うのか」を一枚の地図として整理しておきましょう。

説明

AWSの主なデータベースサービスと、その用途を対応させると次のようになります。

用途サービスひとこと
リレーショナル(表・SQLRDS / Aurora複雑な関係性を扱う業務データの基本形
キーバリュー・NoSQLDynamoDB超高速・大量アクセス・柔軟なスキーマ
インメモリキャッシュ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択にまず絞り込むと、試験本番でも判断しやすくなります。