データベース(RDS/Aurora/DynamoDB)
AWSは用途に応じた多様なデータベースサービスを提供しています。リレーショナルデータベースのRDS/Aurora、NoSQLのDynamoDB、インメモリキャッシュのElastiCacheなど、アプリケーションの要件に最適なデータベースを選択できます。ここでは各サービスの特徴と使い分けを学びます。
所要時間
約60分
学べること
- AWSデータベースサービスの全体像と分類
- RDSの基本概念、インスタンスクラス、マルチAZ構成
- Amazon Auroraのアーキテクチャと特徴
- DynamoDBの基本概念とキャパシティモード
- ElastiCacheによるキャッシュ戦略
- IDサービスにおけるデータベース活用パターン
前提知識
- リレーショナルデータベースの基礎(テーブル、SQL、インデックス)
- AWSの基本概念(リージョン、アベイラビリティゾーン)
- VPCとサブネットの基本(前章参照)
目次
- AWSデータベースサービスの全体像
- RDS概要
- RDSインスタンスクラスとストレージ
- マルチAZ配置とリードレプリカ
- RDSバックアップ
- Amazon Aurora
- Aurora Serverless v2
- DynamoDB概要
- ElastiCache
- RDS Proxy
- IDサービスでの活用
- まとめ
1. AWSデータベースサービスの全体像
AWSは「Purpose-built databases」の方針のもと、ユースケースごとに最適化されたデータベースサービスを提供しています。
| カテゴリ | サービス | タイプ | 主なユースケース |
|---|---|---|---|
| リレーショナル | Amazon RDS | マネージドRDB | 汎用的なトランザクション処理 |
| リレーショナル | Amazon Aurora | 高性能RDB | 高可用性が求められるワークロード |
| キーバリュー | Amazon DynamoDB | NoSQL | 低レイテンシの大規模データアクセス |
| インメモリ | Amazon ElastiCache | キャッシュ | セッション管理、リアルタイムランキング |
| ドキュメント | Amazon DocumentDB | MongoDB互換 | コンテンツ管理、カタログ |
| グラフ | Amazon Neptune | グラフDB | ソーシャルネットワーク、不正検知 |
| 時系列 | Amazon Timestream | 時系列DB | IoTデータ、運用メトリクス |
| 台帳 | Amazon QLDB | 台帳DB | 変更履歴の完全な追跡 |
データベース選定のフローチャート
データベース選定
├── リレーショナルモデルが必要?
│ ├── Yes → 高可用性・高性能が必須?
│ │ ├── Yes → Amazon Aurora
│ │ └── No → Amazon RDS
│ └── No → データアクセスパターンは?
│ ├── キーベースの高速アクセス → DynamoDB
│ ├── キャッシュ/セッション → ElastiCache
│ ├── ドキュメント検索 → DocumentDB
│ └── 関係性の探索 → Neptune