適材適所でクラウドを使い分ける企業が増えている。ここで課題になるのがクラウドごとの違いだ。AWS(アマゾン・ウェブ・サービス)、Google Cloud Platform(GCP)、Microsoft Azureはサービスラインアップが似ているが、用語やサービスの構造、利用できる機能などに差異がある。本連載ではテーマ別に各クラウドの特徴を取り上げ、違いを浮き彫りにしていく。第4回から第6回は「データベース」をテーマに解説する。第6回はMicrosoft Azureを取り上げる。

 アプリケーションを実装する上でのデータベース、特にRDB(Relational Database)の位置付けや、データベースの基本的な仕組みはクラウドでもオンプレミスでも大きな違いはありません。一方で、データベースの管理についてはクラウドとオンプレミスでは大きな違いがあります。RDBの管理をマネージドサービスとしてクラウド事業者が実施する「DBaaS(Database as a Service)」が提供されている点です。また、クラウドならではの特性を活用したデータベースがマネージドサービスとして提供されている点も大きな違いです。

 「as a Service」という言葉からもわかるように、DBaaSではデータベースやその基盤となるインフラの管理、運用がサービスとして提供されます。このため、一部のパラメータ設定を除き、利用者は物理設計や設定といった構築作業、メンテナンスやアップデートといった保守作業に時間を使う必要がなく、データベースの利用に注力できます。

 また、物理的な制約が少ないクラウドの特性を活用して、バックアップや自動復旧、冗長性、堅牢性といった基本的な機能、性能が担保されている点が特徴です。スケールアウトを容易にできる機能も用意されています。

(出所:123RF)
(出所:123RF)

 こうしたメリットがある一方、背景となる仕組みや特性を理解せずに利用するとせっかくの機能や性能を使いこなせない可能性もあります。このため、利用するDBaaSを理解し、ベストプラクティスに従って使うことが肝心となります。AWS、GCPのDBaaSについては第4回、第5回でそれぞれ詳しく説明しました。今回はMicrosoft AzureのDBaaSについて解説していきます。

 Microsoft AzureのDBaaSの特徴を簡単にまとめると以下となります。

  • 充実したMicrosoft SQL ServerベースのDBaaSラインアップと、他RDBベースのDBaaSの拡充
  • NoSQLのDBaaSであるAzure Cosmos DBは、高可用性を保証しつつ複数のデータモデルをサポート
  • データ分析サービスのラインアップも充実しており、全方位をカバー

他クラウド事業者とのラインアップ比較

 まずはAWS、GCP、AzureのDBaaSについて、どういったデータベースのタイプをカバーしているのかを比較してみましょう*1。現行のMicrosoft Azureのラインアップは、AWSやGCPと比較して遜色のないレベルであることがわかります。

*1 データベースのタイプに対する定義はクラウド事業者によって多少異なります。そのため、同じデータベースのタイプに分類されたDBaaSが必ずしも同じ機能を持っているわけではありません。
データベースのタイプ別に分類した3大クラウドのDBaaS
タイプAWSGCPMicrosoft Azure
RDBMS(MySQL)Amazon RDS for MySQL/Amazon Aurora MySQLCloud SQL for MySQLAzure Database for MySQL
RDBMS(PostgreSQL)Amazon RDS for PostgreSQL/Amazon Aurora PostgreSQLCloud SQL for PostgreSQLAzure Database for PostgreSQL
RDBMS(Microsoft SQL Server)Amazon RDS for SQL ServerCloud SQL for SQL ServerAzure SQL Database/Azure SQL Managed Instance
RDBMS(MariaDB)Amazon RDS for MariaDB-Azure Database for MariaDB
RDBMS(Oracle Database)Amazon RDS for Oracle--
RDBMS(サーバーレス)Amazon Aurora Serverless-Azure SQL Database Serverless
NoSQL(Key-Value)Amazon DynamoDBCloud BigtableAzure Table Storage/Azure Cosmos DB Table API
NoSQL(ドキュメント)Amazon DocumentDBFirestoreAzure Cosmos DB MongoDB API
NoSQL(グラフ)Amazon Neptune-Azure Cosmos DB Gremlin API
NoSQL(Cassandra)Amazon Keyspaces-Azure Cosmos DB Cassandra API
NoSQL(SQL)-Cloud SpannerAzure Cosmos DB SQL API
NoSQL(時系列)Amazon Timestream-Azure Time Series Insights
データウエアハウスAmazon RedshiftGoogle BigQueryAzure Synapse Analytics
HadoopAmazon EMRDataprocAzure Databricks/HDInsight

かつては「SQL Serverでは先行しているけれど……」だった

 3大クラウドのうち、Microsoft Azureには特有の背景があります。マイクロソフトはクラウド事業者であると同時に、データベース製品事業者でもあることです。クラウドサービスの提供以前から、RDBMS(Relational Database Management System)である「Microsoft SQL Server」を提供していました。

 サービス開始当初、これはメリットにもデメリットにもなっていました。Microsoft SQL ServerをベースにしたDBaaSを早期から提供していた一方、MySQLやPostgreSQLをベースにしたDBaaSがなかなか提供されなかったのです。厳密にいえば、サードパーティーベンダーによるDBaaSは提供されていましたが、マイクロソフトが提供するDBaaSで自社製品以外のラインアップが整うのはかなり後発となりました。

 しかし、現在は以前とは全く違う状況になっています。例えばRDBでは、Microsoft SQL ServerベースのDBaaSである「Azure SQL」に加え、MySQLをベースにした「Azure Database for MySQL」、PostgreSQLをベースにした「Azure Database for PostgreSQL」、MariaDBをベースにした「Azure Database for MariaDB」が提供されています。Oracle DatabaseをベースにしたDBaaSは提供されていませんが、利用者の選択肢は他クラウドと遜色ないレベルに拡充されています。

この先は日経クロステック Active会員の登録が必要です

日経クロステック Activeは、IT/製造/建設各分野にかかわる企業向け製品・サービスについて、選択や導入を支援する情報サイトです。製品・サービス情報、導入事例などのコンテンツを多数掲載しています。初めてご覧になる際には、会員登録(無料)をお願いいたします。