待望の「ハイブリッド型」 ついに“見参”データベースの「生きる道」を探る 第4回

XMLデータベース(XMLDB)の登場は、大きな期待とは裏腹にかなりトーンダウンした結果に終わり、リレーショナルデータベース(RDB)は依然として主流であり続ける。だが、数年経った今、XMLDBは新たに武装して現れた――。

» 2006年11月09日 07時00分 公開
[富永康信(ロビンソン),アイティセレクト]

本記事の関連コンテンツは、オンライン・ムック「新時代突入の予感 使えないハコモノに終わらせるな!――データベースの『生きる道』を探る」でご覧になれます。


RDBでXMLDBを扱うための2つの方法

 「サブシステム的扱い」でしか利用されない現状があるものの、構築後もデータ構造が変化することを前提とした情報系システムなどで有効活用できると期待されるネイティブXMLDB。可用性を向上させ、「復活」の道を歩み続けている。

 一方、XMLデータをRDB上に取り込むことを目的とした、RDB構造のXML対応データベースがある。オラクル、IBM、マイクロソフトといったRDB陣営がそれぞれ、「Oracle XML DB」、「DB2 v8」、「SQL Server 2005」などのXMLサポートをラインアップに加えている。しかし、こちらもXMLDBが本来持っているデータ項目の変更に対する柔軟性がなく、肝心のXMLデータへの検索性能もいまだ課題といえる。

 RDBでXMLDBを扱うには、主に2つの方法がある。1つは、文字列型情報を保存するCLOB(Character Large Objects)の列にXML情報をそのまま格納してしまうやり方。ただ、スキーマの柔軟性はあるものの、検索時の翻訳が重く、索引付けには限界がある。

 2つ目は、ツリー構造のXMLデータをシュレッディング(構造を分解して列に納める)してRDBフィールドにマッピングする方法。これならパフォーマンスは向上するが、スキーマの柔軟性を失うほか、分解先が多いと復元が重くなる。

 つまり、RDBをそのまま活用するとなれば、柔軟性を重視するか、パフォーマンスを重視するかという、二者択一になるのである。

XMLをサポートするハイブリッド型RDB

 そんな中、選択のジレンマを解消するデータベースが登場した。7月にIBMがリリースした「DB2」の最新バージョン「DB2 9」である。同社はこれを「第3世代データベース」と称し、リレーショナルデータ構造とXMLデータ構造を両立する世界初のハイブリッド型データベースとうたっている。

 「DB2 9」はRDB構造でありながら、XMLデータの処理に最適な格納方式を採用したことで、ピュアなXMLをサポートする。XML開発者は「Xquery」(XMLデータソースを照会する言語)でRDBにアクセスでき、SQL開発者はXMLをサポートするRDBとして扱うことができる。

 また、「DB2 9」では、これまでのRDB機能も大幅に拡張させている。データ圧縮機能やセキュリティ能力も向上し、メモリチューニングもオートノミックの強化で実現している。

 「これまでのXMLDBのようにRDBのCLOB型の列にドンと納めるのではなく、またシュレッディング方式のようにデータをちぎって表にマップしていくのでもありません」と、日本IBMソフトウェア事業インフォメーション・マネジメント事業部事業企画課長の村田泰昭氏が解説するように、XML専用DBと同様の処理をすることでDOM構造(XMLの階層構造をオブジェクト指向で表すためのモデル)に分けて格納し、XMLデータのパーシング(構文をチェックする機能)を可能にしている。

 「直接『Xquery』でデータをすくい上げることができるため、本来XMLが持つ最大の特長である柔軟性もそのまま維持されます」(村田氏)という、優れもののようなのだ(「月刊アイティセレクト」12月号のトレンドフォーカス「データベースの新潮流 世界初の製品誕生 ハイブリッド型で大激震が起きるか」より)。

Copyright© 2010 ITmedia, Inc. All Rights Reserved.

注目のテーマ