フォーム読み込み中
2022年7月5日掲載
主要クラウドサービスにはフルマネージド型サービスとしてPaaS型リレーショナルデータベースがあります。例えば、Alibaba Cloud ApsaraDB RDS、Amazon RDS、Azure Database、Google Cloud SQLです。逆にPaaS型リレーショナルデータベースとは対照的であるIaaS型リレーショナルデータベースとしてAlibaba Cloud ApsaraDB for MyBase、Azure SQL Server on Azure Virtual Machinesもあります。それぞれのリレーショナルデータベースプロダクトサービスおよび仕様を比較してみます。
※クラウドサービスの並び順はアルファベット順となります。
※本記事は 2022 年 6 月時点の情報をもとにしております。実際のご利用にあたっては、必ず各社の最新情報をご確認ください。
リレーショナルデータベースは関係性を持ったテーブル構造、すなわちリレーショナルモデルデータベースです。リレーショナルデータベースは、データを行(あるいはレコード)と列(あるいはフィールド、カラム)のテーブルに構成するモデルを使用します。通常、列はデータのカテゴリを表し、行は個々のインスタンスを表します。これらのテーブルは、キーを使ってリンクしたり関連付けたりすることができます。テーブルの各行は、主キー(プライマリーキー)と呼ばれる一意のキーで識別されます。この主キーは、別のテーブルに追加して、外部キーにすることができます。主キーと外部キーの関係は、テーブルとテーブル間の関係を成立させるための役割をもたらしつつ、データを正規化することが可能です。
クラウド上のリレーショナルデータベースは主にPaaSとして展開されています。これはユーザがボタンをクリックするだけで、各クラウドサービスが仮想マシン上にさまざまなデータベースをすぐ導入できるようにするアプローチです。これをフルマネージド型データベースサービスと呼ぶことがあります。
オンプレミス上のデータベース、IaaS型データベース、PaaS型データベースそれぞれクラウドサービス側が調達してくれる利用範囲をまとめてみます。オレンジ色で塗りつぶしてるところはクラウドサービス側が調達してくれるため、利用ユーザ側による調整作業が不要となります。この利用範囲から、PaaS型データベースはほぼクラウドサービス側が調達してくれるため、非常に便利だということがみえます。
データベース以外にもクラウドによるPaaS製品としてフルマネージド型サービスは色々ありますので、こちらも参考にしてみるのもいいでしょう。
Alibaba Cloud、Amazon Web Service、Microsoft Azure、Google Cloud等クラウドプロパイダーが提供するPaaS型リレーショナルデータベースプロダクトサービスを表にまとめてみましたので、紹介します。
※RDSはRelational Database Serviceの略称です。
※Alibaba Cloud PolarDB、AWS Aurora、Google Cloud AlloyDB for PostgreSQLといったCloud-Native DBは別記事にて紹介します。
※AzureのSQL Server系はIaaS型リレーショナルデータベースとして包括されているため、こちらは本記事の後半にて紹介します。
Alibaba Cloud | Amazon Web Services | Microsoft Azure | Google Cloud | |
|---|---|---|---|---|
MySQL | ||||
PostgreSQL | ||||
Oracle | ||||
SQL Server | ||||
MariaDB |
ApsaraDB RDSはAlibaba CloudによるPaaS型リレーショナルデータベースサービスです。ApsaraDBはインド神話にある雲の海に生きる神の名称から名付けたものです。ApsaraDB for OceanBaseはAlibabaが独自開発したOracle互換性を持つPaaS型分散リレーショナルデータベースで、OLTP(Online Transaction Processing、データベースとしてトランザクション処理)を評価するTPC-C benchmarkで毎年世界1位を記録しています。これはトランザクション処理とコストの釣り合いを評価するもので、3位以下にあるOracle Databaseが最高で 30,249,688 tpmC / 1.01 USD に対し、OceanBaseが707,351,007tpmC / 0.59USD(3.98CNY)と、安い金額で20倍以上の性能を発揮しています。
Amazon RDSはAmazon Web Serviceによる、PaaS型リレーショナルデータベースサービスです。Amazon RDSはAlibaba Cloud、AWS、Azure、Google Cloudの中でもOracle Databaseを唯一公式にサポートしています。Amazon RDS for OracleはStandardおよびEnterprise Edition(BYOL)があり、Oracle社で購入したライセンスを適用することもできます。その甲斐もあって、オンプレミス環境のOracle DatabaseからAWS RDSへマイグレーションするユーザや数多くの実績があります。
Azure DatabaseはMicrosoft Azureによる、PaaS型リレーショナルデータベースサービスです。Microsoftの主力サービスであるSQL ServerはAzure Databaseにはなく、Azure SQL Database Managed Instance、SQL Server on Azure Virtual Machines、Azure Synapse AnalyticsにてSQL Serverを提供しています。こちらはIaaS型データベースサービスなので後述します。
Google Cloud SQLはGoogle Cloudによる、PaaS型リレーショナルデータベースサービスです。Google Cloud SQLのみ、MariaDBが無いなど、他クラウドサービスと比べたら物足りない感じがします。元々Google CloudはYoutubeやGmail、GoogleMapなど、世界中で使われてるGoogleの各種サービスで大規模処理を支えるDataStoreやBigTable、FirestoreなどNoSQLデータベースサービスに力が入っている背景もあるので、Google Cloudはリレーショナルデータベースサービスが少ないという考えも不自然ではありません。
PaaS型リレーショナルデータベースプロダクトサービスを機能レベルで比較してみます。
Alibaba Cloud ApsaraDB | Amazon RDS | Azure Database | Google Cloud SQL | |
|---|---|---|---|---|
MySQL Engine | 5.6、5.7、8.0 | 5.6、5.7、8.0 | 5.6、5.7、8.0 | 5.6、5.7、8.0 |
PostgreSQL Engine | 10、11、12、13、14 | 10、11、12、13、14 | 10、11、12、13、14 | 10、11、12、13、14 |
SQL Server | 2008 R2 Cloud Disk Edition、2012 EE/SE/Web、2016 EE/Web、2017 EE/SE/Web、2019 EE/SE/Web | 2014 EE/SE/Web、2016 EE/SE/Web、2017 EE/SE/Web、2019 EE/SE/Web | - | 2017 EE/SE/Web、2019 EE/SE/Web |
Oracle | ApsaraDB for OceanBaseにてOracleとの高い互換性を提供 | 19 | - | - |
MariaDB | 10.3 | 10.2/10.3/10.4/10.5/10.6 | - | - |
コンピューティングの最小スペック | 1CPU 2GB Memory | 1vCPUs 1GiB RAM | 1vCPU 2GB RAM | 1CPU 2GB Memory |
コンピューティングの最大スペック | 104CPU 768GB Memory | 96vCPUs 1024GiB RAM | 80vCPUs 504GiB RAM | 96vCPU 624GB Memory |
ストレージ最大量 | 32TB | 64TB | 64TB | 64TB |
Single-zone展開 | 〇 | 〇 | 〇 | 〇 |
Multi-zone展開(HA構成) | 〇 | 〇 | 〇 | 〇 |
同一リージョンへの自動フェイルオーバー | 〇 | 〇 | 〇 | 〇 |
別リージョンへの自動フェイルオーバー | 〇 | 〇 | 〇 | 〇(MySQL、PostgreSQLのみ) |
垂直Scaling | 手動 | 手動 | 手動 | 手動 |
垂直Scalingによるダウンタイム時間 | 5分未満 | 数分 | 5分未満 | 5分未満 |
ストレージのAuto Scaling | 〇 | 〇 | 〇 | 〇 |
認証・認可 | 〇(RAM、RDS Proxy) | 〇(IAM、RDS Proxy) | 〇(Azure AD、Azure RBAC) | 〇(IAM、SQL Proxy) |
バックアップ(PITR) | 〇 | 〇 | 〇 | 〇 |
リカバリー | 〇 | 〇 | 〇 | 〇 |
Performance Insights | 〇(Performance Insight) | 〇(Performance insights) | 〇(Query Performance insight) | 〇(Query Insights) |
monitoring | 〇(SQLExplorer、CloudMonitor) | 〇(CloudWathc) | 〇(Azure Monitor、SQL Analytics) | 〇(Cloud Logging、Cloud Monitoring) |
SLA | 99.99% | 99.95% | 99.99% | 99.95% |
Alibaba Cloudは、自社で自作DBをいくつか開発できるほどの技術力があるだけに、MySQLやPostgreSQL、Oracleなどオリジナルのリレーショナルデータベースサービスに劣らないさまざまなデータベースを独自開発、展開しています。例えば、ApsaraDB for MySQLはAliSQLという、Alibaba CloudがMySQLをブランチして独自開発したMySQLデータベースが実装されており、中身はMySQLの標準機能をベースに、Alibabaオリジナル機能としてWindow関数や並列レプリケーション、Temp Engine、ハッシュ結合、動的スレッドプールなどが付帯されています。さらにApsaraDB for MySQLのDBエンジンとして独自開発したX-Engineも実装されています。データベースはデータ量が増加するほどトランザクション処理性能が下がってしまう問題に対し、Alibabaはそれを回避するためにX-Engineを設計、開発、実装。その結果として、Alibaba CloudのPaaS型MySQLデータベースでX-Engineの場合、通常のMySQL DBエンジンのInnoDBなどが搭載されているRDBインスタンスより低いスペックで、高いパフォーマンスを発揮することができるため、総じて費用対効果を体感することができます。
AWS RDSはPaaS型フルマネージド型データベースサービスとして提供するため、ユーザはAWSクラウドプロパイダーが事前に定義したデータベースパラメータを適用しながら、ワンクリックで簡単にセットアップすることができます。インスタンスタイプの変更や、Replicaの作成、バックアップなどを行っても、統一されたパラメータ構成や環境から柔軟かつ自動的に処理が行えることが特徴です。ただし、AWS RDS専用インスタンス上にデプロイされたデータベースサービスを提供するのみなので、垂直スケーリングによるダウンタイムの時間が長いことや、AWS RDSのSLAがGoogle Cloud SQLと同様低いことが象徴的です。AWS RDSはシナリオにあわせて本番稼働用、開発/テスト用、無料利用枠を選定することができるので、使い慣れたMySQL、PostgreSQL、SQLServer、Oracle、MariaDBをクラウドベースでスタートアップやスモールスタート、検証用として利用するにはちょうどよいデータベースとも言えます。
Azureはスペック選定としてDTU(Database Transaction Unit)という、SLAや一定のパフォーマンスを保証しながら利用できるリソースの最小単位の組み合わせで構成することができます。DTUは1 UnitあたりCPU、メモリ、データI/O、トランザクションログI/Oごとのそれぞれのリソースがあります。DTUの導入数ごとに使用できるリソース上限値があり、ユーザのワークロードがリソース上限値に達すると、リソース不足により処理しきれず、ワークロードが遅くなります。Azure SQL Databaseはクエリパフォーマンス情報をGUIインターフェースで確認することができるQuery Performance insight、インデックス推奨事項を使用してデータベースのパフォーマンスを向上させられるIndex Advisor、異常ログインやSQLインジェクションなどの攻撃要素を自動検知しアラート発信するThreat Delectionといった、データベース運用者にとって楽なユーティリティが付いています。もちろんAWS RDSやAlibaba Cloud ApsaraDB、Google Cloud SQLにも別の名称で類似サービスがありますが、個人的にはAzure Databaseのほうが先進的かつ操作インターフェース的に有難みを感じます。Azure はAlibaba Cloud ApsaraDBと同じく高いSLA、および高可用性を持っており、ダウンタイムに強い特徴もあります。
Google Cloud SQLはリレーショナルデータベースインスタンスをコンテナベースで運用しているので、データベース作成における起動や、垂直スケールによるインスタンスタイプ変更における時間が非常に短いです。Google Cloudはネットワーク構成がAlibabaCloud、AWS、Azureと異なり、VPCがRegionより外へ配置されています。例えばAWS RDSを新規作成する際、RDSを外部公開することができるパブリックアクセスか、プライベートアクセスのどちらかを定義しながらサブネットを作成しアタッチする必要がありますが、Google Cloud SQLはパブリックアクセスとプライベートアクセス両方を設定することができます。仮にCloud SQLでプライベートアクセスを設定する場合、Google Cloudがどのネットワークから静的IPアドレスを割り当てるかを選択するだけで済みます。この一面を含め、Cloud SQL操作インターフェースも非常にシンプルなので、Google Cloudの最大の特徴である完全なフルマネージド型サービスとして、クラウドサービス初心者でもCloud SQLをすばやく構築、運用することが非常に容易です。
PaaS型リレーショナルデータベースプロダクトサービスの料金を比較します。それぞれ一長一短な構成・オプションなので、各サービスごとにsingle構成(Single-zone展開)、HA構成(Multi-zone展開)ごとの最低料金で比較します。
※金額はUSD単位になります。
PAYG(1時間あたりの料金)
Alibaba Cloud | Amazon Web Services | Microsoft Azure | Google Cloud | |||||
MySQL(Single構成) | ApsaraDB for MySQL | $0.02/Hour~ | Amazon RDS for MySQL | $0.08/Hour~ | Azure Database for MySQL | 0.10/Hour~ | Cloud SQL for MySQL | $0.02/Hour~ |
PostgreSQL(Single構成) | ApsaraDB for PostgreSQL | $0.11/Hour~ | Amazon RDS for PostgreSQL | $0.29/Hour~ | Azure Database for PostgreSQL | 0.12/Hour~ | Cloud SQL for PostgreSQL | $0.02/Hour~ |
SQL Server(Single構成) | - | - | Amazon RDS for SQL Server | $0.85/Hour~ | - | - | Cloud SQL for SQL Server | 0.71/Hour~ |
Oracle(Single構成) | - | - | Amazon RDS for Oracle | $0.98/Hour~ | - | - | - | - |
MariaDB(Single構成) | ApsaraDB for MariaDB | $0.14/Hour~ | Amazon RDS for MariaDB | $0.171/Hour~ | Azure Database for MariaDB | 0.12/Hour~ | - | - |
MySQL(HA構成) | ApsaraDB for MySQL | $0.09/Hour~ | Amazon RDS for MySQL | $0.16/Hour~ | Azure Database for MySQL | 0.25/Hour~ | Cloud SQL for MySQL | 0.19/Hour~ |
PostgreSQL(HA構成) | ApsaraDB for PostgreSQL | $0.69/Hour~ | Amazon RDS for PostgreSQL | $0.30/Hour~ | Azure Database for PostgreSQL | 0.27/Hour~ | Cloud SQL for PostgreSQL | 0.19/Hour~ |
SQL Server(HA構成) | ApsaraDB for SQL Server | $2.31/Hour~ | Amazon RDS for SQL Server | $1.71/Hour~ | - | - | Cloud SQL for SQL Server | 0.89/Hour~ |
Oracle(HA構成) | ApsaraDB for OceanBase | $6.780/Hour~ | Amazon RDS for Oracle | $1.96/Hour~ | - | - | - | - |
MariaDB(HA構成) | ApsaraDB for MariaDB | $0.25/Hour~ | Amazon RDS for MariaDB | $0.34/Hour~ | Azure Database for MariaDB | 0.27/Hour~ | - | - |
Subscription(1ヵ月あたりの料金)
| Alibaba Cloud | AWS | Azure | Google Cloud | ||||
MySQL(Single構成) | ApsaraDB for MySQL | $39.49/Month~ | Amazon RDS for MySQL | $58.89/Month~ | Azure Database for MySQL | 76.52/Month~ | Cloud SQL for MySQL | 14.38/Month~ |
PostgreSQL(Single構成) | ApsaraDB for PostgreSQL | $50.78/Month~ | Amazon RDS for PostgreSQL | $215.84/Month~ | Azure Database for PostgreSQL | 88.52/Month~ | Cloud SQL for PostgreSQL | 14.38/Month~ |
SQL Server(Single構成) | - | - | Amazon RDS for SQL Server | $627.00/Month~ | - | - | Cloud SQL for SQL Server | 512.24/Month~ |
Oracle(Single構成) | - | - | Amazon RDS for Oracle | $718.25/Month~ | - | - | - | - |
MariaDB(Single構成) | ApsaraDB for MariaDB | $66.29/Month~ | Amazon RDS for MariaDB | $125.02/Month~ | Azure Database for MariaDB | 88.52/Month~ | - | - |
MySQL(HA構成) | ApsaraDB for MySQL | $44.49/Month~ | Amazon RDS for MySQL | $117.78/Month~ | Azure Database for MySQL | 185.96/Month~ | Cloud SQL for MySQL | 137.06/Month~ |
PostgreSQL(HA構成) | ApsaraDB for PostgreSQL | $201.79/Month~ | Amazon RDS for PostgreSQL | $219.98/Month~ | Azure Database for PostgreSQL | 197.96/Month~ | Cloud SQL for PostgreSQL | 137.06/Month~ |
SQL Server(HA構成) | ApsaraDB for SQL Server | $1660.16/Month~ | Amazon RDS for SQL Server | $1,254.00/Month~ | - | - | Cloud SQL for SQL Server | 644.89/Month~ |
Oracle(HA構成) | ApsaraDB for OceanBase | $2,491/Month~ | Amazon RDS for Oracle | $1,436.50/Month~ | - | - | - | - |
MariaDB(HA構成) | ApsaraDB for MariaDB | $117.29/Month~ | Amazon RDS for MariaDB | $250.03/Month~ | Azure Database for MariaDB | 197.96/Month~ | - | - |
Alibaba Cloud ApsaraDB for MySQL、MariaDBがSingle構成、HA構成どれをとっても4大クラウドサービスの中で最安価格です。背景として、Alibaba Cloud Databaseは可用性と費用対効果、パフォーマンスを重視した設計思想を持ち、先述通りAlibabaは独自のAliSQLなどデータベースとしてのハードウェアリソースを隅々最適化しています。そのため、パブリッククラウドサービス4社の中でPaaS型リレーショナルデータベースでMySQL、MariaDBが最安価格となります。ApsaraDB for PostgreSQLはまだ踏み込みきれてないのか、HA構成だと割高となってしまっています。 ApsaraDB for SQL Server、 ApsaraDB for OceanBaseは可用性重視の設計思想のためなのか元よりSingle構成は無しです。
AWS は他社には選定出来ないレベルのさまざまなインスタンスファミリーやスペックが自由に選定できるため、PaaS型リレーショナルデータベースとして、SQL ServerやOracleはライセンス代を含めてもパブリッククラウドサービス4社の中で最も安い料金です。先述通り、AWS RDSはプロダクトサービスとしても可用性構成が弱いため、仮に可用性構成を考慮した設計にすると、SQL ServerはAzureより割増になります。
Azure はHA構成でみればPostgreSQLが最安価格です。このPaaS型リレーショナルデータベースプロダクトサービスには触れていないですが、Azure SQL ServerとしてAzure SQL Managed Instance を利用する場合、HA構成だと$1,588.44USD/Month〜と最安価格です。
Google Cloud はインスタンスのスペックを自由自在に選定できる分、Single構成としては最安価格になります。これもAWSと同様、可用性構成が弱いため、仮に可用性構成を考慮した設計にすると、MySQL、SQL ServerどれもAlibaba CloudやAzureの方が最安価格になります。
先述、PaaS型リレーショナルデータベースを紹介しました。一方、PaaS型リレーショナルデータベースとは別にIaaS型リレーショナルデータベースのプロダクトサービスがあります。クラウドサービスとして上記紹介したように、PaaSによるフルマネージド型サービスが続出している中、なぜIaaSによるリレーショナルデータベースサービスがあるのでしょうか? その回答となる背景を説明します。現在、データベースは大きく3つのカテゴリにて分離されています。『オンプレミスで自前で構築するデータベース』、『クラウド上で自前で構築するデータベース』、『クラウドサービスによるPaaS型データベース』の3種類です。この共通の課題は「コスト」「セキュリティ」「自己管理・制御」「リソース奪い合いなく、高い安定性を保つこと」です。この背景から、クラウド上に自己管理・制御することが可能なIDCを構築するコンセプトのもと、IaaS型リレーショナルデータベースが登場しています。
2022/6/22 現在、IaaS型リレーショナルデータベースサービスはAlibaba CloudとAzureのみ提供しています。Alibaba CloudのApsaraDB for MyBase、Microsoft AzureのSQL Server on Azure Virtual MachinesおよびAzure SQL Database Managed Instanceです。
Alibaba CloudのApsaraDB for MyBaseはMySQL、PostgreSQL、SQL ServerをベースとしたIaaS型リレーショナルデータベースです。ApsaraDB for MyBaseはPaaS型データベースと同じ機能を持ちながら、カスタムリソース割り当て、リソーススケジューリング、ハイブリット展開、OSアクセスなどをサポートします。ApsaraDB for MyBaseの料金として、専用ホスト代は有料で、ApsaraDB for MyBaseによるインスタンス代は無料です。
AzureのSQL Server on Azure Virtual MachinesおよびAzure SQL Database Managed InstanceはSQL ServerをベースとしたIaaS型リレーショナルデータベースです。SQL Server on Azure Virtual Machinesは仮想コンピューティング上にてSQL Serverを配置しながらIaaS型データベースとして提供しているため、PaaS型データベースでは操作できないOSやSQL Server各種設定機能の操作が可能になります。加えて、AWS RDS SQL ServerやApsaraDB for SQL Serverなどには含まれてない自動バックアップ機能やユーザカスタマイズ機能などがあり、また同じMicrosoft社製品としてAzureなのでSQL Serverとしてのライセンス代を大幅に削減するなどのメリットがあります。
Azure SQL Database Managed InstanceはSQL Server PaaSオプションで、Azure上の仮想コンピューティングにてSQL Server全機能をインスタンス単位で利用することができるIaaSデータベースサービスです。例えばオンプレミスなど既存のSQL ServerからAzureのSQL Serverへマイグレーションする際、Azure SQL Database Managed Instanceを利用することで、SQL Serverデータベースの機能設定や高可用性、パフォーマンス監視、ネットワーク構成などの要素を踏まえながらデータベースをAzure上のSQL Server各種サービスへシームレスに移行してくれます。
各クラウドサービスごとのリレーショナルデータベースは一長一短です。Alibaba Cloud ApsaraDBは可用性と費用対効果、AWS RDSはOracleを含めた幅広いラインナップにスモールスタートができる環境、AzureはSQL Databaseだと可用性を重視した構成、SQL Server系だとオンプレミスのSQL ServerからクラウドのSQL Serverへのマイグレーションを完全に支えつつ、クラウドとしてのSQL Serverを存分に発揮できる構成、Google Cloud SQLは初心者でも素早い構築ができるうえ、好きなSpec構成でコストを抑制できる、といった印象があります。各クラウドサービスごとにPaaS・IaaS型リレーショナルデータベースを提供していますが、中身や柔軟さに若干違いがあるので、さまざまなシナリオに応じた適材適所な選定が必要になります。
条件に該当するページがございません