■ データベース
| カテゴリ | AWS のサービス |
|---|---|
| リレーショナル | Aurora、RDS、Redshift |
| キー値 | DynamoDB |
| インメモリ | ElastiCache for Memcached、ElastiCache for Redis |
| ドキュメント | DocumentDB (MongoDB 互換) |
| ワイドカラム | Keyspaces (Apache Cassandra 向け) |
| グラフ | Neptune |
| 時系列 | Timestream |
| 台帳 | QLDB |
■ SQL and NoSQL
| サービス名 | Fully Managed | SQL | NoSQL |
|---|---|---|---|
| RDS | 〇 | 〇 | |
| Aurora | 〇 | 〇 | |
| Redshift | 〇 | 〇 | |
| DynamoDB | 〇 | 〇 | |
| EMR | 〇 | 〇 | |
| Elastic Cache | 〇 | 〇 | |
| EC2 | 〇 | 〇 |
Q. 自社内でデータベースを管理したい場合は?
→ EC2内にデータベースを構築する
■ RDS
読み込み処理のパフォーマンスを上げるには?
リードレプリカによって、読み込み処理に対する応答処理を複数台で分散する
可用性を上げるには?
マルチAZによって、AZ障害によるシステム停止の可能性を低くする
レプリケーションラグとは?
非同期的にコピーされるレプリカが間に合わず、最新のはずのデータが古いままになっている
データを暗号化するには?
→ 暗号化を有効化すると、DBインスタンス、自動バックアップ、リードレプリカ、スナップショットの暗号化が可能である
拡張モニタリング
DBインスタンスのプロセス、スレッドのCPU使用率などの監視をする
30日間CloudWatch Logsに保存する
プライマリが停止したら?
CNAMEレコードがプライマリからセカンダリに移行する
■ Aurora
障害時に別リージョンでもデータを利用するには?
複数リージョンへ
リードレプリカを作成しておく
(スナップショットでもデータの移行はできるが、時間がかかる)
互換性のあるデータベースは?
MySQL(標準的なMySQLより5倍高速)
PostgreSQL(標準的なPostgreSQLより3倍高速)
■ Redshift
Redshiftの特徴
ペタバイト規模のデータウェアハウス
ストレージ超過で課金が始まる
Redshiftクラスター
拡張VPCルーティング ・・・ VPCに出入りするCOPY、UNLOADトラフィックを監視する
■ ElastiCache
ElastiCacheの特徴
インメモリ型のキーバリューストア、高速なデータベース
行動データの高速処理
■ DynamoDB
Auto Scaling
テーブルとグローバルセカンダリインデックス(GSI)の容量増加と自動化(コスト最適)
DAX
1つのみのプライマリーノードと0~9個のリードレプリカ
グローバルテーブル
マルチリージョンにマルチデータベースをデプロイする
高い冗長化を実現