" />
本ページはプロモーションが含まれています。

スポンサーリンク

AWS

AWSのデータベースサービス

AWSの代表的なデータベースサービス

Amazon RDS(Relational Database Service)

RDSで選択できるDBエンジンは6つある。

  • Amazon Aurora (PostgreSQL or MySQL を選択可)
  • MySQL
  • PostogreSQL
  • Maria DB
  • Oracle
  • Windows SQL Server

EC2にDBをインストールして利用することもできる。
RDSを使うことで、DBのアップデート・負荷監視・バックアップなどの管理業務から解放され、テーブル作成やSQLクエリ最適化など、アプリケーション部分の最適化に注力することができる。

RDSが行ってくれる主な管理業務は3つ。

メンテナンス設定したタイミングでOSやDBエンジンのアップデートが行われる。
バックアップデフォルトで7日間のDBデータの自動バックアップが行われる。
バックアップしたデータは、秒数まで指定して特定時点に復元することができる。=ポイントタイムリカバリー
高可用性RDSのマルチAZ配置をオンにすることで、複数AZにレプリカが作成される。

高可用性についての補足

マスター – スタンバイ という構成を取る。
この一連の構成をクラスターという。
マスターに障害が発生したときに、スタンバイしているDBが自動でマスターに昇格する。
このことをフェイルオーバーという。

リードレプリカについての補足

レプリカのうち、読み取り専用に利用される、つまりSELECTのみに利用されるものをリードレプリカ(Read Replica)と呼ぶ。

Read Replicaは頻度の高いSELECT文をさばくために利用され、INSERT/UPDATE/DELETEはマスターレプリカに対して実行され、その結果が随時リードレプリカに反映される。

Amazon Aurora

Amazon Auroraはクラウドに最適化されたAmazonが開発したRDBである。
DBエンジンとしてPostgreSQLかMySQLを選択できる。

PostgreSQLやMySQLとの違いは下記の通り。

リードレプリカ最大15個作成できる
性能Postgre SQLやMySQLと比べて5倍の性能

結論として、PostgreSQLやMySQLを選択するなら、Auroraを使う方が良い。

Amazon DynamoDB

DynamoDBはフルマネージド型のNoSQLデータベースである。

RDSはインスタンスタイプやストレージを選択するが、DynamoDBはそれらもAWSが管理している。そのためフルマネージド型と呼ぶ。

RDSとはデータベースモデルが違うので注意すること。
RDSはリレーショナルデータベース、DynamoDBはNoSQLデータベースである。

NoSQLはキーバリューストアと呼ばれる。
キーに対してJSON形式のオブジェクトを保持するモデルである。
JOINや高度な検索はできないため、利用用途で適用可能かは明確に判断される。

RDSとDynamoDBのパフォーマンス向上策の違い

RDSはトランザクションの概念があるため、マシンを分散することできない。
そのため、マシン性能をアップする垂直スケーリング(スケールアップ/スケールダウン)となる。

DynamoDBはトランザクションの概念がないため、マシンを分散することができる。
そのため、マシン台数を増やす水平スケーリング(スケールアウト/スケールイン)となる。

RDB、NoSQL以外のデータベースサービス

RDB、NoSQL以外にも利用目的に応じてデータベースサービスを使い分けることが大事である。

Amazon Redshiftビッグデータの集計や分析に使われるデータウェアハウス。
Elastic Cacheインメモリキャッシュとして使われる。
RedisまたはMemcachedを選択できる。
Webアプリのセッション管理に利用したことがある。
Amazon Neptuneグラフデータベースサービス。
グラフクエリを使用するシーン、相関関係やルート検索などに使用する。

AWS DMS(Database Migraion Sevice)

オンプレ→AWS、AWS→AWSへのDBの移行をサポートするサービスとして、AWS DMSが用意されている。

スポンサーリンク

-AWS