MS SQL Server 2000の出荷が10月27日に始まる。今回のバージョン・アップではXML対応が目を引くが,多くのユーザーが恩恵を受けるという点では性能や信頼性の向上に要注目である。具体的には,インデックスの保守性向上や並列処理による高速化,分散処理機能の強化などだ。

 マイクロソフトは,リレーショナル・データベース管理システム(RDBMS)の新版「Microsoft SQL Server 2000」を10月27日に出荷する。旧版の「SQL Server 7.0」からの機能強化点は数多い(表1[拡大表示])。その中で一見目を引くのはXML(eXtensible Markup Language)対応だが,性能や信頼性を向上させる新機能も多岐にわたっており,要注目だ。

表1●SQL Server 2000の主な機能強化点

 新版からは価格体系が変わった点にも注意したい。これまでの「同時ユーザー数モード」と「インターネット コネクタ」が無くなり,サーバーのCPU数で課金する「プロセッサ ライセンス」が加わった。詳細は,今月号のトラブル110番(pp.168-169)で説明しているので,参照してほしい。また,新たな製品ラインアップとして,開発者向け製品とWindows CE版「SQL Server 2000 Windows CE Edition」を追加した。

インデックスの保守機能を強化

 以下では,新版の主な強化点を用途ごとに見てみよう。

 システムのメンテナンスに効果的な新機能としては,インデックス関連の機能強化が挙げられる。旧版のSQL Server 7.0では,インデックスを再作成するためにはデータベースを停止させる必要があった。また,大容量のデータベースではインデックスのサイズも大きくなるため,再作成するのに時間がかかっていた。保守のためにデータベースを停止させる時間が長くなる問題に対し,SQL Server 2000ではインデックスのメンテナンスを効率よく行うための機能を強化した。インデックス作成をマルチスレッドで並列処理する機能を追加し,かつ,データベースがオンライン中でもインデックスを再作成することを可能にした。

 参照系システムで注目すべき点は,「ビュー」関連の機能強化だ。ビューは,実テーブルから部分的に切り取った仮想的なテーブルであり,複数のテーブルから1つのビューを作成できる。この複数テーブルに対するビューでは,ユーザーがアクセスした時点で実テーブルをジョインして一時的なテーブルを作成する。このジョイン処理の負荷は高い。

 今回新たに追加した「インデックス付きビュー」は,ビューにインデックスを付ける機能である。実行時のジョイン処理を省き,ビューに対する検索処理を高速化する。ビューに対する検索文は,自動的に,ビューに付けたインデックスを検索する処理に置き換えられる。従来のSQL文を書き変えることなく,ビューに付けられたインデックスが利用できる。

 データ・ウエアハウスのような大量データの検索では,「分散パーティションビュー」機能に注目したい。この機能は,1つのテーブルを複数台のサーバーに分けて置き,ディスクI/Oを分散する機能。1つのテーブルを“キー”となる項目に基づいて複数のパーティションに分け,各サーバーにパーティションを格納する。全件検索となるようなSQLの場合,ディスクI/Oを複数のサーバーに分散できるため,大幅に処理時間が短くなる。ただ,特定のパーティションにアクセスが集中するとディスクI/Oは分散しない。アプリケーションの特性を考慮して,パーティション分割する必要がある。

4通りのXML機能拡張を実施

図1●SQL Server 2000に追加されたXML対応機能
検索結果をXMLドキュメントで取り出すことができる。その方法は,(1)select文にfor xml句を追加する,(2)Microsoftのスキーマ定義言語「XDR」を使い,リレーショナル・データベースをXMLデータベースとして扱う,(3)URLにselect文を埋め込む,(4)SQLを埋め込んだXMLドキュメントをIISに送信する,の4種類

 SQL Server 2000で全く新たに登場したのが,XML対応機能である(図1[拡大表示])。

 XML対応機能は4つある。まず,SQL Server 2000用の拡張SQL言語「Transact-SQL」にXML拡張を行い,select文の検索結果をXML形式で取り出せるようにした。具体的には,select文に「for xml」句を追加するだけでよい(図1(1))。

 SQL Server 2000をXMLデータベースのように扱える機能もある。MicrosoftのXMLスキーマ言語「XDR (XML Data Reduced)」でスキーマを定義し,RDBMSをXMLドキュメントに見せる。XMLドキュメントとして扱えれば,XML標準の検索規格「XPath」で検索できる(同(2))。

 そのほか,WWW環境でXMLを扱うための機能も備えた。同社のWWWサーバーIIS用のプラグインとして提供する。「URLクエリ」機能は,HTMLページを指定するURLにSQL文を記述し,検索結果をXML形式で取り出す機能(同(3))。「テンプレート」機能は,SQL文を埋め込んだXMLドキュメントを送信すれば,SQLを解釈して,検索結果をXML形式で返信してくれる機能(同(4))である。

(松山 貴之=matsuyam@nikkeibp.co.jp)