5
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

大手クラウド3社のデータベースサービスを切る -RDB編-

Posted at

そもそもの理解を深めるための自分用メモ

RDB

Amazon RDS

AWSのマネージドサービス型RDS(いわゆるSaaS型)
Aurora、PostgreSQL、MySQL、MariaDB、Oracle データベース、SQL Server から選択できる
Auroraとそれ以外でアーキテクチャが異なる
ログやスナップショットはS3に保存可能

通常のRDS
ベースはEC2のDB用インスタンス
用途に合わせてオファリング+ストレージタイプを設定することが可能
マルチAZによる高可用性と複数のリードレプリカを作ることで読み込み負荷の軽減が可能
ストレージは3種類のから選択することができる

・汎用SSDストレージを使用した場合
(コスト効率の高いストレージ)
1GB当たり3IOPS→ボリュームが大きいほどパフォーマンスが上がる
ただし3000IOPSでバーストするためワークロードのにーずを満たすように設定する必要がある
(「バースト」とは、利用しているボリュームのベースラインパフォーマンスを超えたI/O性能を発揮させること。
バーストが継続可能な期間は、バースト開始時点でのI/Oクレジットバランスの残量に制限され、残量が0となるとベースライン以上のパフォーマンスは出ません。)
CloudDBS02.png

・プロピジョンIOPS SSDストレージを使用した場合
(I/O重視のワークロードの場合)
インスタンス作成時、それぞれDBエンジンごとにIOPSとストレージの範囲が異なる
CloudDBS01.png

マグネティックストレージは下位互換のため非推奨で下記制限事項がある
 - SQL Server データベースエンジン使用時には、ストレージをスケーリングできません。
 - Elastic ボリュームをサポートしていません。
 - 最大サイズが 4 TiB に制限されます。
 - 最大で 1000 IOPS に制限されます。

参照

Aurora
AWS的にはMySQLを使う場合にはAurora推奨(でもPostgreSQLでも使える)
MySQLは5.6と5.7を選択可

Aurora DB クラスターは1 つ以上の DB インスタンスと、これらの DB インスタンスのデータを管理する 1 つのクラスターボリューム、Aurora クラスターボリュームは、複数のアベイラビリティーゾーンにまたがる仮想データベースストレージボリュームで構成されている
ストレージが10GBから64TBまでシームレスに、ダウンタイム無しで自動拡張
データは、3AZに2つずつ、合計6重化されて保存されるというありがたさ
最大15個のレプリカ可能で障害時のフェールオーバーも早い
アーキテクチャはこの図が非常にわかりやすい
CloudDBS03.png

インスタンスはメモリ最適化タイプとバーストタイプがある
公式で正確な数字は出ていないが、
「MySQL のスループットの 5 倍、PostgreSQL のスループットの 3 倍を実現」とのこと

参照

Azure Database for MySQL/PostgreSQL/MariaDB

AzureのPaaSのDB
MySQLはバージョン5.6と5.7、PostgreSQLは9.5.14と9.6.10と10.5
MariaDBはバージョン10.2に対応
最近PostgreSQLのCitusによるハイパースケールが実装されてこれがかなり強力
(これはまたアーキテクチャが異なる)

こちらもストレージは3種類のから選択することができる。
とはいえAWSと比較するとお話しにもならない
Basic:開発やテストなどI/Oパフォーマンスを必要とする場合
汎用:Webやモバイルアプリなど負荷分散されたコンピューティングとメモリ、およびスケーラブルな I/O スループットを必要とする場合
メモリ最適化:リアルタイムデータや分析など高速トランザクション処理と高いコンカレンシーを実現するためのインメモリ パフォーマンスを必要とする場合
CloudDBS04.png

参照

Azure SQL Database*
こちらは上記OSSのDBとはまた別のアーキテクチャで実装されている
またパフォーマンスとコストのニーズに合わせて2タイプから選べる
仮想コアベース(推奨):プロビジョニングされたサーバとサーバレス(プレビュー)のいずれかを選択できる。
DTUDatabase Throughput Unit)ベース:コンピューティング・ストレージ・IOリソースがパッケージされている(柔軟性が低い)

スペックに関しては推奨の仮想コアベースのみ記載
CPUモデルGen4の場合
CloudDBS05.png

CPUモデルGen5の場合
CloudDBS06.png

Google Cloud SQL

MySQL,PostgreSQL,SQLServer から選択できるフルマネージドデータベースサービス
Cloud Spanner はハイブリットタイプのため別扱い

MySQLは第1世代と第2世代のインスタンスを選択可能
(ただし第1世代は2020年1月サポート終了予定)
第 2 世代インスタンスは、MySQL 5.6 と 5.7 をサポートし、最大で 416 GB の RAM と 10 TB のデータ ストレージを使用でき、必要に応じてストレージを自動的に増やすオプションあり。
第 1 世代インスタンスは、MySQL 5.5 と 5.6 をサポートし、最大で 16 GB の RAM と 500 GB のデータ ストレージを使用可能

PostgreSQLは第2世代のみで最大 416 GB の RAM と 64 個の CPU を搭載するカスタム マシンタイプ、最大 10 TB までのストレージを利用可能。
(必要に応じて、ストレージを自動的に増やすことが可能)
バージョンは9.6、11.1 ベータ版をサポート

選択するディスクによってパフォーマンスが変わる
SSD、HDD、Backupから選択可

SSDのスペックはこちら↓
CloudDBS07.png

長くなってしまったので、NoSQLに関してはまた別でまとめたいと思います

5
7
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
5
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?