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

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

このエントリーをはてなブックマークに追加
follow us in feedly

カテゴリ RDB / NoSQL / ミドルウェア
タグ  Microsoft , リレーショナルデータベース


次の記事
MooTools ~ オブジェクト指向JavaScriptフレームワークのまとめ

前の記事
Firefox用のメモリツール開発をモジラが検討中


カテゴリ



Blogger in Chief

photo of jniino Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

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



新着記事 10本


PR - Books


fig

fig

fig