2
1

More than 1 year has passed since last update.

AWS DBまとめ

Last updated at Posted at 2022-02-06

AWSで用意されているDBの種類

  • RDS
  • DynamoDB
  • RedShift
  • ElastiCache
  • Neptune
  • Athena

RDS

  • リレーショナルデータベース(RDB)
  • 以下のDBエンジンをサポートしている
    • Amazon Aurora
    • PostgreSQL
    • MySQL
    • MariaDB
    • Oracle Database
    • Microsoft SQL Server

Amazon Aurora

  • AWSが開発したRDB
  • PostgreSQL,MySQLと互換性がある
    ⇒アプリを変更することなくAuroraにデータ移行でき、さらにこれらのDBエンジンより高スループットらしい。
  • 構成
    • 3ヶ所のAZにある
    • SQL処理を担うデータベースインスタンス(図上側)
    • ストレージを担うクラスターボリューム(図下側)
    • データベースインスタンスのうち1つ(図のAZa上)は、プライマリデータベースインスタンスと言い、読み取り・書き込みを行う。
    • 残り2つ(図のAZb,c上)はAuroraレプリカと言い、読み取りのみを行う。
    • 一つのAZにつき2か所のディスクに書き込まれるため、データは合計で6か所に保存される。
      障害時のダウンタイムはほぼ無い。

  • image.png

画像引用:AWS公式 Amazon Aurora DB クラスター

マルチAZ

  • 説明
    複数のAZにRDSを構築すること。
  • 機能
    有効にすると、マスターのDBインスタンスを自動で作成し、異なるAZにあるインスタンスにデータを複製する。
    ⇒耐久性と可用性が向上
  • 構築方法 [AWS_22]RDSを冗長構成にする image.png

リードレプリカ

  • 説明
    • マスターDBと同じDBを構築し、読み取り専用としてRDSを構築したもの。
      ⇒読み取りスループット向上
    • マルチAZやリージョン間で構築できる
    • 同期処理は非同期
      マルチAZは同期レプリケーションだが、リードレプリカは非同期レプリケーション

  • image.png
    画像引用:AWS公式 リードレプリカの使用

DynamoDB

  • NoSQL型のデータベース。(NoSQL:非RDBMSの総称)
    非構造・半構造データを扱う。
    • 半構造データ
      ログ、センサーデータ、位置情報、設定ファイルなど
    • 非構造データ
      テキストファイル(メモ書き)、音声データ
  • キーバリュー型データモデル
    • NoSQLの代表的なデータモデル
    • データはキーとバリューから構成される
      ⇒RDBのような数値や文字列ではなく、JSONのようなデータもバリューとして格納できる
  • マルチAZ
    DynamoDBでは、自動で3ヶ所のAZに保存される
  • 結果整合性モデル
    マルチAZにより、3ヶ所への書きこみ完了に時間がかかる。そのため書き込みは時間が経てば反映されるが、読み取りのタイミングによっては書き込んだデータが反映されていないことがある。
    その対策として「Consistent Read」というオプションがある。このオプションにより、書き込みが反映された最新データを読み取ることができる。

RedShift

  • データウェアハウス
  • BIツールを利用した大量データの集計・分析ができる
  • 実体はノードと呼ばれるコンピューティングリソースの集まり
    リーダーノードが処理を受け、コンピューターノードに処理を依頼する。これらの集まりをクラスターという。

  • image.png
    画像引用:データウェアハウスシステムのアーキテクチャ
  • クロスリージョンスナップショット
    スナップショットを別のリージョンにコピーするように設定すること。
    ⇒リージョン障害時に復元できる。

ElastiCache

  • インメモリデータベース
  • メモリ上で処理を実行する
    ⇒高スループット&低レイテンシー
  • キャッシュを利用しない一般的なWebサーバでは常にDBにクエリを投げるため負荷がかかる。ElastiCacheを挟むことで、DBの負荷軽減ができる。

  • 【一般的なWebサーバーのDBクエリ】
    Webアプリ→DB
    【ElastiCacheのアーキテクチャ】
    EC2→ElastiCache→RDS
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1