XMLデータベース
【英】XML database, XMLDB
XMLデータベースとは、XML文書をデータとして扱うデータベースのことである。
XMLデータベースは、必ずしも厳密なスキーマ定義を行わなくてよく、整形式のXML文書であればデータベースを構築することが可能となっている。そのため、リレーショナルデータベース(RDB)のような他のデータベースの形式と比べても柔軟で拡張性が非常に高い。XMLデータベースは、多くの異なる項目を含んだ多様なデータを扱う場合や、後から項目の追加などの仕様変更が予想されるデータベースの構築などに適しているとされる。またXML文書はそのままXMLデータベースの文書形式として使用できる。
XMLデータベースは、これまで一般的であったリレーショナルデータベースなどと比べると、拡張性が高い分パフォーマンスに難点があるとされてきた。しかし最近ではパフォーマンスの問題も改善され始めている。代表的なXMLデータベースの製品としては、NeoCoreXMSやThe Apache Software FoundationのXindiceなどがある。
参照リンク
NeoCoreXMS
Xindice - (英文)
XMLデータベース
データベースモデル |
---|
基本的なモデル |
階層 |
ネットワーク |
関係 |
オブジェクト関係 |
オブジェクト |
その他のモデル |
多次元 |
スタースキーマ |
XMLデータベース |
列指向 |
Associative |
Concept-oriented |
![]() | この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。2023年2月) ( |
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に移管されました。
関連項目
- XML databaseのページへのリンク