【Azure基礎用語解説】「SQL Database」

  • このエントリーをはてなブックマークに追加

SQL

SQL Databaseとは、マイクロソフトのRDBMS(リレーショナルデータベース管理システム)である「SQL Server」とほぼ同じ機能と互換性を備えた、Azureのデータ管理機能の一つです。Azure上でSQL Serverを実行し、データベース機能をクラウドサービス化したものが、SQL Databaseだと考えても差し支えありません。PaaSのカテゴリーに含まれるものですが、サービスとしてのデータベース ―― いわゆる「DBaaS」と呼ばれることもあります。

Azureの仮想マシンでは、SQL Serverを含むWindows Serverのイメージが用意されており、IaaS上でSQL Serverを運用管理することも可能です。では、SQL Databaseと仮想マシン上のSQL Serverには、どのような違いがあるのでしょうか。

冒頭で触れたように、機能的な差異や互換性に違いはありません。そもそもマイクロソフトは、オンプレミスのSQL ServerであってもAzure上のSQL Databaseであっても、すべての機能が共通して利用可能であることを目指しています。つまり、マイクロソフトのデータプラットフォームは、オンプレミス環境の物理サーバー、プライベートクラウド環境、パブリッククラウド環境のすべてで同じテクノロジーを使用できるようにしているのです。これにより、あらゆる環境が混在していても同じ開発ツールや知見を使いながらオンプレミスとクラウドを組み合わせたデータ管理が可能なのです。

Azure基礎用語解説SQL

SQL Serverをホストするための4つのオプション

SQL DatabaseとSQL Serverの違いは、ユーザーが管理しなければならない範囲にあります。

SQL Databaseは、マイクロソフトが所有、ホスト、保守するAzureの標準的なハードウェアとソフトウェアをベースに構築されています。あくまでもPaaSですから、ユーザー自身がSQL Databaseが稼働するAzure上のSQL Serverを管理する必要はありません。セキュリティパッチを適用したり、SQL Serverをバージョンアップしたりといった管理はすべてAzureが担当するので、ユーザーはSQL Databaseで作成したデータベースだけを管理すればよいのです。データ保全を目的にデータベースを冗長化したりフェイルオーバー構成にしたりするのも、Azureが自動的に行います。

一方のSQL Serverの場合、SQL Serverが稼働するOSなどのインフラ部分も含めて管理する必要があります。Azure仮想マシン上で実行されるSQL Serverでは、OSとSQL Serverインスタンスの構成を全面的に制御できるというメリットもありますが、その場合、OSより上位レイヤーに当たる部分はユーザー自身が管理する必要があります。例えば、SQL Serverへのセキュリティパッチの適用やデータベースの冗長化やフェイルオーバー構成などは、ユーザーが自分自身の責任で行わなければならないということです。

料金体系も異なります。SQL Databaseでは、使った分だけ料金を支払う従量課金であり、データベースのサイズやトランザクションによって異なるプランが用意されています。SQL Serverでは、ユーザーが購入したライセンスを使用するか、Azure仮想マシンの場合は事前にライセンス付与されたSQL Serverのインスタンスをポータルからダウンロードして利用するかのどちらかになります。

さらに詳細なSQL DatabaseとSQL Serverの情報については、マイクロソフトのドキュメントを参照してください。

photo:Thinkstock / Getty Images