XMLデータベース

XMLデータベースとは



XMLデータベースは、XML形式のデータを格納、管理、検索するためのデータベースシステムです。広義には、XMLデータを扱うことができるデータベース全般を指しますが、狭義にはXMLのツリー構造をそのままデータ構造として保持するものを指します。しかし実際には、既存の関係データベースにXMLデータを格納したり、テキストファイルとしてXMLデータを保存するなど、様々な形態が存在します。

近年では、XPathやXQueryといったクエリ言語を用いてXMLデータを検索できるデータベースをXMLデータベースと呼ぶことが一般的です。

XMLデータベースの特徴



従来の 関係データベース(RDB)では、データ構造の変更が運用中に困難である一方、XMLデータベースは非常に高い拡張性を持ちます。これは、XMLがスキーマを必須とせず、整形式(Well-formed)であれば許容されるという柔軟な仕様に基づいています。このため、開発段階でデータ構造が完全に決定していなくても、開発を進めやすく、途中でデータ構造が変化する可能性があるシステムを比較的容易に構築できます。

XMLデータベースの課題と進歩



以前は、関係データベースにおけるSQLのような統一規格が存在しないことが課題でしたが、近年ではXPathやXQueryを用いたXML:DB規格が策定され、NeoCoreXMSやTX1などの製品に採用され始めています。また、性能面での課題も存在しましたが、ハードウェアアルゴリズムの進化によって改善が進んでいます。関係データベースが性能問題を克服してきた歴史と同様に、XMLデータベースも同様の発展を遂げることが期待されています。

関係データベースとの融合



現在では、Oracle Database、IBM DB2、Microsoft SQL Serverといった主要な関係データベースでもXPathやXQueryによる検索機能が実装されており、XMLデータを格納するデータベースの選択肢が広がっています。しかし、XMLデータの量や階層構造の深さ、パフォーマンス要件によっては、慎重な製品選定が必要です。ベンチマークテストの結果などを参考に、XMLデータベースと関係データベースのどちらを採用するかを決定することが重要です。

代表的なXMLデータベース



BaseX: XPath/XQuery、全文検索をサポートしたオープンソースのXMLデータベースです。
Cyber Luxeon: オブジェクトデータベースObjectStoreをコアエンジンとするXMLデータベースです。
DB2 9 pureXML: IBM社が開発・販売するDB2 9に搭載されたpureXML機能です。
EsTerra: 日本産のXMLデータベースで、スキーマレス、高速動作、テラバイト級のデータを扱えることが特徴です。
NeoCore XMS: 独自のDigital Pattern Processing技術により、高速なデータ処理と柔軟なデータ構造への対応が可能です。
Oracle XML DB: Oracle Databaseに実装されたXMLデータベース機能です。
Tamino: ドイツSoftware AG社が開発した、世界で広く利用されているXMLデータベースです。
TX1: 東芝デジタルソリューションズが販売しているXMLデータベースです。
Xindice: Apache XMLプロジェクトで開発されたネイティブXMLデータベースでしたが、現在はApache Atticに移管されています。

関連事項



XML: データを構造化して記述するためのマークアップ言語です。
XPath: XMLドキュメント内の要素や属性を指定するための言語です。
XQuery: XMLドキュメントを検索・抽出するためのクエリ言語です。
関係データベース: データをテーブル形式で管理するデータベースです。
ディレクトリサービス: ネットワーク上のリソース情報を管理するシステムです。
* 永続データ構造: プログラムの実行が終了してもデータが保持されるデータ構造です。

XMLデータベースは、XMLデータの柔軟性を活かし、変化する可能性のあるデータを効率的に管理する上で重要な技術です。関係データベースとの融合も進んでおり、適切なデータベースを選択することが重要です。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。