DB2 Viper、新生XMLハイブリッドと“SOA”の関係

Webサービスで当たり前となりつつあるXMLデータ利用。IBMは、新版DB2 ViperでRDBとXML DBのハイブリットを実現する。その狙いと真価は何か?

» 2006年05月23日 18時39分 公開
[木田佳克,ITmedia]

 日本アイ・ビー・エム(以下、IBM)が次期リリースの「DB2 Viper」で目指したものは、リレーショナルデータベース(RDB)の次世代革新だ。

 現在、公開中であるベータ“Test Drive”の「DB2 Express-C test drive for Viper」は、「DB2 Viper Early Community」サイトから無償ダウンロードすることができる。インストールを中心とした日本語ドキュメントも用意されており、稼働環境さえ整えばすぐにでも試すことができるだろう(関連リンク)

 また、公開された「Express-C test drive」は、すでにV8でもリリースされている「DB2 Universal Database Express-C V8.2」と同系列のエディションであり、2006年1月に追加されたものだ(関連記事)。一部の機能が商用版に比べて省かれているものの、Express-C V8.2では、2プロセッサ、4Gバイトまでのメモリをサポート、DB容量サイズも無制限などと実用稼働としても使うことができるスペックだ。Viperでも同様に、製品リリース後にExpress-C Editionが用意されると思われるが、現在のところ、Viperの正式リリースは夏ごろとの発表だ。

 なお、Express-C Editionでの運用後、サポートが必要になった場合には、商用の「DB2 UDB Express Edition」を選択すればよい。シームレスに環境移行ができるのがこのエディションの特徴とメリットである。

Viperが目指したのはSOAのデータベース基盤

 これまでのデータベースといえば、リレーショナルデータ形式を格納するものが一般的であり、最近増えつつあるXMLデータに対応するために、さまざまな拡張が行われてきた。

 Viperで実現されるRDBとXMLのハイブリット構造(テーブル形式「SQLベース」と階層形式「XMLベース」をサポート)、ディスクおよびメモリ上でのデータ圧縮、セキュリティ強化などは、WebサービスやWebアプリケーションでの利用形態に則したものだ。現代では、今後のデータ量増加にもパフォーマンスが比較的低下しないデータベースシステムが求められているが、その要件を満たすバージョンアップだといえるだろう。

 ハイブリット構造そのものは従来からの「XML Extender」(後述)で実現されていた機能と本質的には変わらない。しかし、アドオンではなく標準機能として搭載されたために構築の手間が大幅に軽減、そして環境依存はあるものの10倍程度のパフォーマンス向上が見込めるという。

 ITmediaの取材に対し、IBMソフトウェア事業ブランド事業推進・インフォメーション・マネジメント事業部長の渡邉宗行氏は、すでに展開されていたα版における国内ベンダーのテスト状況にも触れた。詳細なコメントを避けるものの、概ね良好なパフォーマンスを記録できていることを明かしている。現在は、前述のように公開ベータ“Test Drive”が公開されているため、広範囲での試用が予想されるがベンチマークの公表も期待できるところだ。

時代はRDBのXML対応に向かった

 昨今、WebサービスやWebアプリケーションの登場によって、XMLを多用するシーンが増えてきた。このため、リレーショナルデータベースにXMLデータを格納する手法も多く利用されている。

 XMLデータベースとリレーショナルデータベースがハイブリッド構造となっているDB2 Viperでは、前述のようにスキーマ定義をすることなく、ネイティブXMLデータベースのようにノードをたどることで処理の高速化が図られている。

 この構造によって、前述のような高速化が実現され、XMLデータからリレーショナルデータに変換するといったオーバーヘッドが存在しないことがDB2 Viperの大きなところである。そしてIBMが真価として見ているものは、データをSOA(サービス指向アーキテクチャ)のコンポーネントとしてシームレスにサービス提供できることだ。

 DB2ではこれまで、XMLをサポートするために前述した「XML Extender」が使われてきた(1998年に出荷)。しかし、アドオンであるために比較的オーバーヘッドがあることはもちろん、扱い方が複雑だったことが懸念された理由だという。

 従来であれば、XMLデータはツリー構造が特徴のためRDBでは細分化し、それぞれのデータをカラムマッピングする必要があった。このため、XMLデータの細分化方法を指定することはもちろん、格納するためのスキーマ定義が必須となっており、比較的複雑な手順を強いてきたという。IBMソフトウェア事業ソフトウェア テクニカル・セールス&サービス技術理事である菅原香代子氏は、そう語る。

 さらに、前述のようにXMLデータに対して検索などを可能にする言語「XML Query」(XQuery)にも対応したことが大きい。XQueryは非構造化データであるXMLに対し、リレーショナルデータのSQLと同等のデータ操作機能を実現するもの。DB2 Viperにおいて、XMLハイブリット構造と合わせて大きな特徴となっている。

 一方で、既存のRDBからの移行プロセスを気にせず、新たにWebベースのシステム構築が前提となる場合には、ネイティブXMLデータベースが注目されてきた。RDBに取って代わる存在として期待されてきたが、多くの環境では既存のデータ資産を生かしつつ、XMLにも対応させていくというフェーズが設けられている。この背景からも、リレーショナルデータベースのXML対応がメインストリームとなりつつあるのだ。

 渡邉氏は、DB2という名の「2」は、リリース当時に二世代目という意味を込められて命名されたもの。今回のViperでは三世代目と言ってよいほどの進化を遂げている、とインタビューで強調した。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ