SQL Server産みの親が語る、SQL ServerからCloudDB、SQL Azureへの歴史 -クラウド Watch(情報元のブックマーク数)

この記事すごくねか?SQL Serverを使っているすべてが知っておいた方が良い情報。過去を知り現在の機能を理解する。

この刷新についてキャンベル氏は、「80年代においてSybaseはすばらしい製品でしたが、90年代の半ばには時代遅れとなっていました。ある朝、目覚めた私は、Sybaseアーキテクチャの上に新しいロック管理の機能を実装することは無理だと気付きました。そこで、まったく新しいアーキテクチャでのSQL Serverの開発に取り組んだのです」と語る。また、SQL Server 7.0のアーキテクチャについてキャンベル氏は、今後15年から20年にわたって使い続けることを念頭において設計したという。
SQL Serverは、その後も順調な進化を遂げている。ミッション クリティカル環境においての高可用性についてキャンベル氏は、「MicrosoftHotmailWindows Live IDといったサービスは、SQL Serverの上に実装され、しかも100%近い可用性を保っています」と自社サービスでの成功を強調する。もちろん、これらのサービスで利用されているSQL Serverは自社サービスのために開発されたものではなく、一般に販売されているSQL Serverとまったく同じものである。
そして2006年に入り、キャンベル氏は“CloudDB”として知られる技術の開発に着手している。同氏は、「2009年8月に初めて実装されたCloudDBは、Exchange Hosted Archive(EHA)のためのものでした。同年の11月にSQL Azureの最初のバージョンがリリースされたのですが、これらの2つは共通のアーキテクチャを持っていますが、異なるニーズのために用意された別のものでした」と語り、本来のCloudDBは、Microsoft社内のインターネットサービスで利用するために開発されたことを明かしている。しかし、その後クラウドを取り巻くさまざまな状況の変化から、CloudDBのテクノロジーSQL Azureでも利用することに決めたという。
クラウド上のサービスとして提供されるSQL Azureは、ユーザーから見るとあたかもSQL Serverであるかのように見える。つまり、リレーショナル・データ・モデルとして提供されたサービスである。SQL Serverで使用されているTransact-SQLは、SQL Azureでもサポートしているため、いくつかの機能制限はあるものの、SQL Serverを利用するアプリケーションから、クラウド上のSQL Azureにアクセスすることができるようになっている。
SQL Azureは、大規模な分散型システムに対応することのできるサービスである。キャンベル氏は、「何千台、何万台というサーバーが接続している環境においては、常にストレージなどの障害の可能性があります。そのため、どこかのサーバーがダウンしたとしても、サービスが継続的に提供できるようにしなければなりません」と語り、その可用性についても自信をのぞかせている。SQL Azureでは、データは必ず3つのレプリカ(セカンダリ)を作るように設計されている。これらのレプリカは、プリンシパルとは異なるノードに分散して配置される。つまり、プリンシパルがダウンしても、異なるノードに配置されたレプリカが次のプリンシパルとなって、サービスを提供し続けるのである。

SQL Server産みの親が語る、SQL ServerからCloudDB、SQL Azureへの歴史 - クラウド Watch

screenshot