検索
連載

Azureの「SQLデータベース」とSQL Serverは何が違う?/Pivotal HD 2.0Database Watch(2014年6月版)(1/2 ページ)

Microsoft Azureで利用できるサービスの一つ「SQLデータベース」。Azure上でSQL Serverインスタンスを利用する場合と比較して、性能・料金体系はどう違う? SQL on Hadoopを実現するPivotal HDのHAWQとは?

Share
Tweet
LINE
Hatena

連載バックナンバー

 今月はMicrosoft Azure(以下、Azure)のデータ管理サービス「SQLデータベース」です。PaaSで使えるSQL Serverと考えることもできますが、AzureでSQL Serverを稼働させるのとどう違うのでしょうか。またPivotalは「Pivotal HD 2.0」を発表しました。特徴は「HAWQ」の強化と「Gemfire XD」の統合です。

AzureのSQLデータベースは新価格体系に

 2014年5月29〜30日の2日間、日本マイクロソフトは「de:code」を開催し、主に開発者向けに同社のテクノロジに関する最新情報を披露しました。その中で日本マイクロソフト エバンジェリストの井上大輔氏(写真)はSQL ServerのPaaS版ともいえる「SQLデータベース」について解説しました。


日本マイクロソフト デベロッパー & プラットフォーム統括本部 エバンジェリスト 井上大輔氏

 紛らわしいのでSQL ServerとSQLデータベースの違いを確認しておきましょう(今回は見分けやすいようにSQL Serverは英文字で、SQLデータベースはカナ表記にしています)。SQL ServerというとマイクロソフトのRDBMS製品です。この連載ではおなじみですね。サーバーにインストールして使います。

 今回言及するのは「SQLデータベース」。Azureで提供されているデータ管理機能の一つで、中身はSQL Serverとほぼ同じです。Azureがクラウド上でSQL Serverを稼働させ、データベース機能だけを「サービス」として提供しているものがSQLデータベースです。

SQLデータベースとSQL Server on Azureは何が違う?

 混同しがちなのが、Azureの仮想マシンで稼働させるSQL ServerとSQLデータベースの違いです。両者の違いはユーザーが管理する範囲にあります。

 前者はIaaSなのでユーザーはゲストOSから上を管理する必要があり、後者はPaaSなので保有するデータベースそのものだけを管理すればいいということになります。言い換えれば前者はSQL Serverを運用管理しつつ利用、後者はSQL Serverを管理することなく機能を利用するのみ、ということです。インフラ部分を含めて運用するか否かが違いです。

 SQLデータベースは「サービス」なのでAzureがSQL Serverを管理してくれます。インストールもソフトウェアのパッチを当てる必要もありません。格納したデータは背後で3重化され、自動フェイルオーバーも働くようになっています。

 料金はどうでしょう。パブリッククラウドサービスはどれも基本的には従量課金制なので、利用した分だけ料金を払う仕組みになっています。Azureの仮想マシンだけではなくAWSのEC2やGoogle Compute Engineも含め仮想マシンであれば、どこも基本的には性能ごとにプランが分かれていて、既定の時間単位で課金されます。一方、データベースに関するクラウドサービスでは、データサイズを考慮した課金体系になっているところが多いようです。

 SQLデータベースでは、純粋にデータベースのサイズでプランが分かれており、そこに月額料金が掛かる仕組みです。加えて、Azureデータセンターからデータを送信する場合にはデータ転送料金が発生します(他のパブリッククラウドサービスでも似たような課金体系があります)。

 性能はどうでしょうか。今までのSQLデータベースは、マルチテナントではあるものの、同一テナント内の他のユーザーの負荷に影響を受けてしまっていたそうです。

 そのため、タイムアウト値の設定やリトライロジックを組み込むなどの「コツ」が必要でした。性能でプランが分かれているわけではないものの、性能が「運次第」ではユーザーにしてみれば納得しにくいものです。

 そこでマイクロソフトはSQLデータベースの新しい課金体系を発表しました。単純な価格改定ではなく、課金の考え方をがらっと変えたのです。データベースサイズの上限値は定められているものの、基本的には性能と機能でプランが分かれるようになります。なお現状の料金体系「Web Edition」と「Business Edition」は2015年4月に廃止が発表されています。

 新しい料金体系では大きく分けて「Basic」「Standard」「Premium」の3つのエディション、細かく見ると6つのパフォーマンスレベルで日額料金が分かれています(現時点ではプレビューとして正規料金の半額で利用可能)。

Azure SQLデータベース新体系のカギはDTU、リカバリー機能も

 分かれ目となるのが「DTU」という単位です。DTUとは「データベース・スループット・ユニット」の略で、おおよそトランザクション量と考えていいようです。これからは必要なスループット量で料金を選ぶ形になります。

 違いはDTUだけではありません。新しいエディションからは「セルフサービス復旧」という機能が利用できるようになります。こちらはユーザーが任意の時点を指定してデータを復元する機能です。運用上の事情で任意のタイミングに戻さなくてはいけなくなる場合ってありますよね。いわゆる「Point-in-timeリカバリー」です。

 戻せるタイミングと期間はエディションにより異なります。「Basic」では過去7日間の任意のタイミング、「Standard」では過去14日間の任意のタイミング、「Premium」では過去35日以内の任意のタイミングが指定できます。厳密には任意のタイミングといっても5分刻みとなるそうです。

 現状では、「SQLデータベースはSQL Serverとほぼ同じ」と言いつつも、一部で互換性がない、あるいはAzure上におけるデータサイズが異なるなど、多少の制限があります。しかし、SQL ServerならAlwaysOnを用いて冗長化するところを、ローカル冗長なら自動で行うなど、お手軽にある程度の可用性が提供されています。そんなに厳しい要件ではないのなら、SQLデータベースも選択肢としてはアリではないでしょうか。

 他のパブリッククラウドサービス同様、Azureでも日々新しい機能がリリースされ、性能強化や価格改定も頻繁に起きています。AzureおよびSQLデータベースが今後どれだけ進化を遂げるか楽しみです。

Copyright © ITmedia, Inc. All Rights Reserved.

       | 次のページへ
ページトップに戻る