AWSのDB
AWSで使用できるDBについて
- RDB
- NoSQLデータベース
- インメモリデータベース
- データウェアハウス
リレーショナルデータベース (RDB)
複雑な表計算のようなデータの結びつき(リレーション)や、厳密なトランザクション処理が必要な場合に使用します。
Amazon RDS (Relational Database Service)
- 特徴: 構築からバックアップ、パッチ適用などをAWSが代行してくれるフルマネージド型のRDBサービスです。
- 対応エンジン: MySQL、PostgreSQL、Oracle、SQL Server、MariaDB、そして後述のAuroraから選択できます。
- 用途: 一般的なWebアプリケーションのバックエンドや、オンプレミス環境にある既存のRDBの移行先。
Amazon Aurora
- 特徴: AWSがクラウドのために独自設計した、高性能かつ高可用性なRDBです。RDSのエンジンの一つという位置づけですが、試験では独立してよく問われます。
- ポイント: 商用データベース(Oracleなど)と同等の性能を、オープンソース(MySQL、PostgreSQL互換)のコスト(約10分の1)で実現できるのが最大の強みです。
NoSQLデータベース
決まった枠組み(スキーマ)を持たず、大量のデータを高速かつ無限に拡張しながら処理したい場合に使用します。
Amazon DynamoDB
-
特徴: サーバーレスで提供されるフルマネージド型のNoSQLデータベース(キーバリュー型/ドキュメント型)です。
-
ポイント: どんなにデータ量が増えても1桁ミリ秒単位の超低遅延で応答し、自動でスケール(拡張)します。
-
用途: モバイルアプリ、ゲームのユーザーデータ、IoTデバイスからのデータ収集、ショッピングカートのセッション管理など。
インメモリデータベース
ミリ秒未満(マイクロ秒単位)の超高速な応答速度が求められる場合や、メインのデータベースの負荷を軽減するために使用します。
Amazon ElastiCache
- 特徴: メモリ上でデータを処理するインメモリデータストアサービスです。
- 対応エンジン: Redis、Memcached。
- 用途: RDSやDynamoDBへの頻繁な読み込み結果を「キャッシュ(一時保存)」して、アプリケーションの表示速度を劇的に向上させます。
データウェアハウス (分析用データベース)
企業に蓄積された膨大なデータを集約し、BIツールなどで複雑な分析を行うために特化したデータベースです。
Amazon Redshift
- 特徴: ペタバイトスケールのフルマネージド型データウェアハウスです。
- ポイント: RDSが「日常的なデータの記録・更新(OLTP)」を得意とするのに対し、Redshiftは「過去の大量データの集計・分析(OLAP)」を得意とします。
その他の特殊なデータベース
- Amazon Neptune: グラフデータベース(SNSの人間関係のつながりや、レコメンデーションエンジンに最適)。
- Amazon DocumentDB: MongoDB互換のドキュメントデータベース。
- Amazon QLDB: 台帳データベース(データの変更履歴を暗号化して「改ざんされていないこと」を証明・検証できる)。