XMLデータベース(XMLDB)とは
XMLDBとは、XML文法に準拠したデータをデータベースにしたものである。これをネイティブXMLDBという。一方、実体はリレーショナルデータベースであるが、インデクス付けやアクセスの工夫によりXMLDBのように取り扱えるものがあるが、ここでは対象にしない。
XMLDBが注目されるようになったのは大きく二つの理由がある。
- データ交換フォーマット
インターネットの普及により、企業間オンラインでのデータ交換が活発になった。XMLによるデータ記述は、人間にも読めるしコンピュータ処理にも向いている。そのデータをデータベースに取り込むのに、当初はリレーショナルデータベースに変換していたが、XMLデータをそのまま取り扱うにはXMLDBが便利である。
- 文書データの取扱
Web上の資料を検索したりWebサービスを連携したりする用途では、人間が読め、非定型な構造のデータを対象になる。このようなデータを扱うにはリレーショナルデータベースやオブジェクト指向データベースは不向きである。
XMLDBは、上記のような用途では利用されているが、全般的にはあまり利用されていない。
データ互換の分野では、Javascriptで標準に使えるJSONというフォーマットのほうが簡便である。複雑な処理を必要としない場合にはJSONを使うことが多い。
文書管理の分野では、大規模な利用ではXMLDBを用いるが、通常の企業内や個人の利用では、無料の全文検索エンジンが利用できる。そのため、あえてXMLDBを導入する必要性が低い。
主要年表
1998年 W3C、XML勧告
1999年 Tamino(Software AG、スキーマ型XMLDB)
1999年 eXcelon(Object Design(eXcelon Corp)、スキーマ型XMLDB)
2001年 Oracle XML DB(Native XML)
2001年 Yggdrasill(メディアフュージョン、日本最初のXMLDB)
2003年 EsTerra(メディアフュージョン、Yggdrasillの改良版)
2002年 NeoCore XMS(Xpriori、スキーマレス型の代表的XMLDB)
2003年? Interstage Shunsaku Data Manager(富士通、XMLDB)
2005年 TX1(東芝ソリューション、XMLDB)
2005年 Oracle XML DB(XMLDBへの機能拡張)
2006年 Cyber Luxeon(サイバーテック、eXcelon改良版)
2007年? IBM DB2 9 pureXML(XMLDB専用版)
2007年 LINQ to XML(Microsoft、軽量なXMLプログラミングAPI)
第一世代=スキーマ型
W3Cにより定められた仕様をそのまま使うには、データ格納のためのスキーマ定義や処理効率を高めるためのインデクス設定を利用者が行う方式になる。それをスキーマ型という。
事前に慎重なデータベース設計が必要になる。そのため、予定した処理では高性能を発揮できるが、硬直的で変化に弱い欠点がある。
- 1998年 W3C、XML勧告
これによりXMLの標準化が行われた。これに続いてXPathやXQueryなど、XMLDBをアクセスする方法の標準化が行われた。それにより、多数のXMLDB管理システム(XDBMS)が出現した。
- 1999年 Tamino
データベースADABASで有名なドイツのSoftware AG 社が開発した。世界的に普及した初のXMLDBである。
- 1999年 eXcelon(Cyber Luxeon)
オブジェクトデザイン(Object Design)社(2000年、eXcelon Corpに改名)の開発。第一世代XMLDBの代表的製品。
その後、日本のソニック ソフトウェアに事業移管され、Sonic XISとして販売された。さらに2006年にサイバーテックに移管され、Cyber Luxeonとなる。
この間に改良が進み、国産XMLDBとして生まれ変わった。
第2世代=スキーマレス型
スキーマ型が不便なことから、それらの定義を不要にして、使いやすく、高い検索性能と柔軟性をもたせるなどユーザニーズに合わせたデータベースが出現した。これをスキーマレス型という。現在ではほとんどの製品はスキーマレス型である。
- 2001年 Yggdrasill
- 2003年 EsTerra
Yggdrasillは、メディアフュージョンが開発した純国産のXMLDBで、世界でも最初の第二世代XMLDBの一つである。
EsTerraは、スケーラビリティとトランザクション機能を強化するために、Yggdrasillを根本的に変更したもので、テラバイト級のデータまで扱えるようにした。
- 2002年 NeoCore XMS
Xpriori社が開発した代表的な第二世代XMLDBの一つである。優れたインデックスの自動生成でクエリ性能をアップさせている。NeoCoreの出現がXMLの実用可能性を世間に示したといわれている。
日本では2002年から三井物産が販売しており、実績が長く日本でのトップシェアをもっている。
なお、無料版「Xpriori」があり本格試用ができる。
- 2003年? Interstage Shunsaku Data Manager
富士通のXMLDB製品。Shunsakuは九州大学の有川節夫らが開発した検索アルゴリズム。構造がシンプルで、単純なパス検索の速度はあまり高くないが、どのようなクエリでも処理時間の差が少ないのが特徴。特に富士通製品のSymfoware Serverとの連携性がよい。
- 2005年 TX1
東芝ソリューションが開発。特にテキスト文書の検索などリレーショナルデータベースの利用が不適切な分野を重点にしている。
有力データベースベンダの対応
Oracle Database、IBM DB2、Microsoft SQL Server などの有力データベースでは、XMLDBに特化した管理システムを開発するよりも、従来のリレーショナルデータベースの管理システムにXPathやXQueryなどの機能を追加実装してXMLデータも扱えるようにする傾向がある。
- 2005年 Oracle XML DB
XMLDBの型をXMLTypeと名付け、XMLDBをアクセスする機能をOracle9i リリース2(9.2)以上のOracle Databaseに組み込んだ。
- 2007年? DB2 9 pureXML
DB2はIBMの代表的なRDB製品であるが、XMLDB専用の版を発表した。
- 2007年 LINQ to XML
Microsoftの.NET Frameworkで動作する軽量なXMLプログラミングAPI
参考URL