XMLデータベース
XMLデータベースとは、XMLを扱うための機能を持つデータベースである。
狭義ではXMLのツリー構造をそのままデータ構造として持つ物を言うが、実際は伝統的な関係データベースにXMLを格納するものや、単にテキストファイルとしてXMLを格納するものなど様々である。現在ではXPath、XQueryで検索するデータベースをXMLデータベースと呼ぶことが多い。
現在でも広く用いられている関係データベースでは、一度作成されたデータ構造を運用中に変更することが一般的に困難なのに対し、XMLデータベースは非常に拡張性が高い。それはXMLの仕様がスキーマを必須としておらずWell-formed(整形式)の形態を認めているからである。そのため、完全に仕様が決まりきらないで開発を進めたり、途中でデータ構造が変化することを前提としたシステムを比較的容易に構築することができる。
現在の実用上の問題は、関係データベースにおけるSQLのような統一規格がないことであったが、最近XMLDBの検索はXPath、XQueryで行うXML:DB規格が策定され、NeoCoreXMS、TX1を初めとする各社によって採用されはじめている。
また、性能上の問題も普及を妨げていたが、それは大きく改善されつつあり、関係データベースもハードウェアやアルゴリズムの開発によって性能上の問題を克服してきた歴史を持つため、XMLデータベースも同様の発展を遂げることが期待される。
Oracle Database、IBM DB2、Microsoft SQL Server などの関係データベースでもXPath、XQueryで検索する機能を実装しており、XMLデータを格納するデータベース製品の選択肢が増えている。一方で、XMLのデータ量や階層構造の深さやパフォーマンス要件によっては、メーカーからベンチマークテストの結果を入手するなどしてXMLデータベース・関係データベースのいずれを採用するかは慎重に製品を選定する必要がある。
代表的なXMLDB
編集- BaseX
- XPath/XQuery、全文検索をサポートしたオープンソースのXMLDB。
- Cyber Luxeon
- オブジェクトデータベース ObjectStore をコアエンジンとしたXMLDB。
- DB2 9 pureXML (RDB)
- 米国IBM社が開発・販売している、DB2 9 のpureXML機能。
- EsTerra
- 日本産XMLDB。スキーマレス、高速動作、テラバイト級をセールスポイントとしている。
- NeoCore XMS
- 独自のDigital Pattern Processingによる「超高速」「やわらかい」が特徴である。
- Oracle XML DB (RDB)
- 米国Oracle社が開発・販売している、Oracle DatabaseのXMLDB機能。
- Tamino
- ドイツ Software AG 社が開発した、世界で最も売れているXMLDB。
- TX1
- 東芝デジタルソリューションズが販売しているXMLDB。
- Xindice
- Apache XMLプロジェクトで開発されているネイティブXMLデータベース。2011年8月よりApache Atticに移管されました。