ウェブエンジニア問題集
第13章

データベース選択 — RDS・Aurora・DynamoDB・ElastiCache・Redshift

4
この章の目次開く
データベースの選択を考える人のイラスト
学習者学習者

RDSとDynamoDBはどちらもデータベースですが、試験ではどういう条件で分かれますか?

データベース選択では、リレーショナルかNoSQLか、読み書きパターン、可用性、スケーリング、運用負荷を見ます。SAA-C03ではRDS、Aurora、DynamoDB、ElastiCache、Redshiftの使い分けが頻出です。


代表サービスの使い分け

サービス向いている用途
RDSMySQL、PostgreSQLなど一般的なRDB
Aurora高性能・高可用なRDB、MySQL/PostgreSQL互換
DynamoDBキーバリュー、ドキュメント、超スケーラブルなNoSQL
ElastiCacheRedis/Memcachedによるキャッシュ
RedshiftDWH、分析クエリ
DocumentDBMongoDB互換が必要な場合
Neptuneグラフデータベース

RDSとAurora

RDSは一般的なリレーショナルデータベースをマネージドで使うサービスです。AuroraはAWS独自の分散ストレージを持つ高性能なRDBです。

要件選択肢
既存MySQL/PostgreSQLを移行したいRDSまたはAurora
高い読み取り性能と可用性が必要Aurora + Aurora Replica
フェイルオーバーを速くしたいAurora
コストを抑えた小規模RDBRDS

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択クイズでアウトプットして定着させよう