米マイクロソフトは2009年3月10日(米国時間)、クラウド型データベース「SQL Data Services(SDS)」の開発方針を変更すると発表した。開発者が慣れ親しんだリレーショナル・データベース管理システム(RDBMS)の機能を、SDSでも使えるようにする。従来同社は、SDSはRDBMSではないので、開発者はRDBMSとは異なるデータモデルを採用する必要があるとしていた。新しいデータモデルが開発者の不評を買ったため、SDSの開発方針を変更した。

 SDSは、マイクロソフトのクラウド・コンピューティング・サービス「Azure Services Platform」の中核である。SDS開発チームはブログで、SDSが今後、RDBMSが持つテーブルやストアドプロシージャ、トリガー、ビュー、インデックスといった機能をサポートすると発表した。従来の説明では、これらの機能はSDSでは使えなかった。

 またSDSへのデータの入出力に関しても、マイクロソフトのADO.NETやODBCといった既存のデータアクセス技術にも対応する。従来の説明では、SDSへのデータの入出力は、Webサービスの標準的なアクセスプロトコルであるSOAPとRESTを使用するとしていた。

 これまでマイクロソフトは、SDSはRDBMSではなく、データをキー(名前)とバリュー(値)の組み合わせで保存すると説明していた。いわゆる「キー・バリュー型データストア」である。SDSでは、キーとバリューの組み合わせである単体のデータ(RDBMSではレコード、タプルに相当する)を「エンティティ(Entity)」、エンティティの集合体(RDBMSではテーブル、データベースに相当する)を「コンテナ(Container)」、コンテナの集合体(RDBMSではデータベース・サーバーに相当する)を「オーソリティ(Authority)」と呼ぶ。SDSのデータモデルは、Authority、Container、Entityの頭文字から「ACE」と呼び、RDBMSにおけるスキーマや正規化といった概念は存在しなかった。

 SDS向けのアプリケーション開発の検証を進めているグレープシティの中村亨レーザー事業部開発統括部長は「SDSではデータモデルが一変したため、既存のRDBMSに蓄えたデータの移行はほぼ不可能だと感じていた。SDSの開発方針の変更は評価できる」と語る。マイクロソフトのSDS開発チームはブログで、「ACEデータモデルのサポートは、近い将来終了する予定だ」と説明している。