■ データベース
カテゴリ | 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個のリードレプリカ
グローバルテーブル
マルチリージョンにマルチデータベースをデプロイする
高い冗長化を実現