第13章
データベース選択 — RDS・Aurora・DynamoDB・ElastiCache・Redshift
約4分

学習者RDSとDynamoDBはどちらもデータベースですが、試験ではどういう条件で分かれますか?
データベース選択では、リレーショナルかNoSQLか、読み書きパターン、可用性、スケーリング、運用負荷を見ます。SAA-C03ではRDS、Aurora、DynamoDB、ElastiCache、Redshiftの使い分けが頻出です。
代表サービスの使い分け
| サービス | 向いている用途 |
|---|---|
| RDS | MySQL、PostgreSQLなど一般的なRDB |
| Aurora | 高性能・高可用なRDB、MySQL/PostgreSQL互換 |
| DynamoDB | キーバリュー、ドキュメント、超スケーラブルなNoSQL |
| ElastiCache | Redis/Memcachedによるキャッシュ |
| Redshift | DWH、分析クエリ |
| DocumentDB | MongoDB互換が必要な場合 |
| Neptune | グラフデータベース |
RDSとAurora
RDSは一般的なリレーショナルデータベースをマネージドで使うサービスです。AuroraはAWS独自の分散ストレージを持つ高性能なRDBです。
| 要件 | 選択肢 |
|---|---|
| 既存MySQL/PostgreSQLを移行したい | RDSまたはAurora |
| 高い読み取り性能と可用性が必要 | Aurora + Aurora Replica |
| フェイルオーバーを速くしたい | Aurora |
| コストを抑えた小規模RDB | RDS |
RDS Multi-AZは可用性、Read Replicaは読み取りスケールです。この違いは試験でよく問われます。
DynamoDB
DynamoDBは、フルマネージドなNoSQLデータベースです。高スループット、低レイテンシ、サーバーレスな運用が特徴です。
向いている要件:
- キーで高速に読み書きする
- アクセスが急増する
- サーバー管理を避けたい
- グローバルにデータを複製したい
代表機能:
- On-demand capacity
- Provisioned capacity
- DAX
- Global Tables
- TTL
- Streams
キャッシュと分析
読み取り負荷が高い場合は、ElastiCacheやDAXを検討します。
| 要件 | 選択肢 |
|---|---|
| RDSの読み取り負荷を下げたい | ElastiCache for Redis |
| DynamoDBの読み取りを高速化したい | DAX |
| 大量データを分析したい | Redshift |
| S3上のデータをSQLで分析したい | Athena |
まとめ
DB選択では、データモデルとアクセスパターンを先に見ます。
- リレーショナルなデータモデルとSQLが必要ならRDS/Auroraを選ぶ
- 高スケールなNoSQLならDynamoDB
- キャッシュならElastiCacheやDAX
- DWHならRedshift
- S3上の分析ならAthena
次の章では、CloudFront、Route 53、Global Accelerator、VPC Endpointなどのネットワーク性能を扱います。
AWSクイズに挑戦するこの章で学んだAWSの知識を、4択クイズでアウトプットして定着させよう
