クラウドにリレーショナルデータベースを実装する方法、マイクロソフトの答えを見る

2009年3月27日

マイクロソフトはこれまでキー・バリュー型データベースとして提供していたWindows Azureのデータベースサービス「SQL Data Services」(SDS)の方針を切り替えて、今後はSQL Serverと互換性のあるリレーショナル型のサービスを提供すると発表していました(参考:マイクロソフトがクラウドでリーダーシップを握る可能性が高まる)。

キー・バリュー型のデータベースは非常に高いスケーラビリティを実現できるのが特徴で、クラウドにはうってつけ。Google App EngineやAmazon Web Servicesなどで提供されているデータベース機能はこのキーバリュー型データベースです。

ところがキー・バリュー型のデータベースはリレーショナルデータベースとは異なるデータ構造、内部構造を持つため、従来のデータベースアプリケーションをクラウド上に移植する際には全面的に書き換える必要があり、またエンジニアもこの新しいデータベースの仕組みをあらためて理解する必要がありました。

そのため、現在β版として公開されているWindows Azureではユーザーからは「SQL Serverと互換性のあるデータベースサービスを提供してほしい」という要望が非常に多く寄せられたそうです。

そうした要望を受けて、マイクロソフトはキー・バリュー型データベースとして提供していたSDSの方針を転換。SQL Serverと互換性のあるリレーショナルデータベースのサービスに変更すると発表したわけです。

ところが、リレーショナルデータベースをクラウドのようなスケールアウト環境に実装するのはすごく難しくて、一体マイクロソフトはどうやってSQL Serverをクラウド上に実装するのだろう? というのが僕の疑問でした。

これがここまでの経緯。

先週ラスベガスで開催された同社のイベントMIX09で、クラウド上のSQL Serverに関する技術的な概要が説明されたので、さっそくセッションビデオ「What's New in Microsoft SQL Data Services - MIX Videos」を見てみました。会場にいかなくてもビデオでセッションを見られるなんて、本当にいい時代になったものです。プレゼンシートもここからダウンロードできます。

さて、そのセッションの中で仕組みを説明したプレゼンシートがこれです。

fig SQL Data Serviceの実装を解説したプレゼンシート。複数のサーバが集合するファブリックに対してフェイルオーバー、レプリケーション、ロードバランスが実装され、それによってスケーラビリティと可用性を実現する、とある

そして、クラウド上のSQL Serverは次のように実装されていると解説されていました。ビデオの32分あたりです。

もしかしたら誤解している可能性もあるのですが、セッションビデオを見る限り僕はこのように理解しました(あえていえば、これまではこの構造の上にキー・バリュー型のデータベースを実装していたけれど、それをやめて内部構造をそのままむき出しにしたようなものではないかとも思うのですが......)。

この構造によって、物理的にどこかのサーバがダウンしたとしてもサービスは稼働し続けられますし、ロードバランスである程度のスケーラビリティも維持できそうです。ただ、もしかしたら僕が誤解しているだけかもしれませんが、スケーラビリティについては最大でも1台のサーバの全能力を使い切ったところが上限になってしまいます。

キー・バリュー型なら、並列処理で同時に何台ものサーバを稼働させた高いスケーラビリティを備えているのですが、マイクロソフトはそうしたスケーラビリティよりも互換性を重視すると割り切ったのかもしれません。

しかし僕が誤解している可能性も捨てきれません。マイクロソフトのSQL Data Servicesチームのブログでは「スケーラビリティは犠牲にしない」としています。実際にはもっと並列処理を取り入れたスケーラビリティを実現しているのかもしれません。このあたりどうなっているのか、引き続き情報を収集しようと思っています。

関連記事 on Publickey

参考記事 on the Web


このエントリーをはてなブックマークに追加 Bookmark this on Delicious     fig Follow Me  fig RSS

タグ : Microsoft , クラウド , リレーショナルデータベース

次の記事
MooTools ~ オブジェクト指向JavaScriptフレームワークのまとめ
前の記事
Firefox用のメモリツール開発をモジラが検討中

Loading...

Blogger in Chief

photo of jniino Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。新しいオンラインメディアの可能性を追求しています。
詳しいプロフィール


Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
RSSリーダーで : Feed





アクセスランキング - 過去7日間

  1. 特許庁の基幹システム失敗の背景にある、日本に…
  2. 国内の開発者が使っている言語、1位C、2位V…
  3. 特許庁の基幹システムはなぜ失敗したのか。元内…
  4. 英国政府、新ポータルGov.ukをクラウド、…
  5. なぜ米ヒューレット・パッカードは、一挙に16…
  6. OpenFlowベンチャーのNicira N…
  7. ライアン・ダール氏、Node.jsの開発リー…
  8. フラッシュストレージが最大500TB! 米N…
  9. EMC、満を持してPCIe接続フラッシュスト…
  10. 2012年1月の人気記事「グーグルのバグ予測…
  11. マイクロソフトの責任者が語る「われわれはどの…
  12. 「絶対落ちないシステムを作れ」という要件に、…
  13. ソフトウェアテストの30年前と30年後(前編…
  14. ソフトウェアテストの近未来を話そう(前編)~…
  15. ソフトウェアテストの近未来を話そう(後編)~…

最新記事 10本

バックナンバー



アルファブロガー・アワード2010受賞 Publickeyはアルファブロガー・アワード 2010を受賞しました! いつもご愛読ありがとうございます。









blog comments powered by Disqus