XMLデータベース

XMLデータベースは、データをXML形式で指定・保存できるデータ永続化ソフトウェアシステムです。このデータは、クエリ、変換、エクスポート、そして呼び出し元のシステムへの返却が可能です。XMLデータベースは、ドキュメント指向データベースの一種であり、ドキュメント指向データベースはデータベースの一種です。

データベースフォーマットとしてのXMLの根拠

XMLデータベースとしてXML形式でデータを保存する理由は次のとおりです。[1] [2]

  • 企業には、類似したデータを持つ多数のXML文書が存在する場合がありますが、それらは異なるXML形式で分散しています。これらのデータを単一の標準化されたXMLデータベース構造に統合することで、互換性の問題を回避できます。
  • データはXMLとして公開または取り込む必要がある場合があり、リレーショナルなどの別の形式を使用すると、データの二重モデリングが強制されます。
  • XMLは、データ、深くネストされたデータ、混合コンテンツ(埋め込まれたマークアップタグを含むテキストなど)の解析に非常に適しています。
  • XMLは人間が読めるものですが、リレーショナルテーブルにアクセスするには専門知識が必要です。
  • メタデータは多くの場合XMLとして利用可能である
  • セマンティックウェブデータはRDF / XMLとして利用可能
  • オブジェクトリレーショナルインピーダンスミスマッチの解決策を提供する[3]
  • データトランスポートでのXMLの使用との互換性

XML対応データベース

XML 対応データベースでは通常、従来のリレーショナル構造内に XML を格納するために、次の 1 つ以上のアプローチが提供されます。

  1. XMLはCLOB(文字ラージオブジェクト)に保存されます。
  2. XMLはスキーマ[4]に基づいて一連のテーブルに細分化される。
  3. XMLはISO規格9075-14 [5]で定義されているネイティブXML型に保存されます。

ISO XML タイプをサポートする RDBMS は次のとおりです。

  1. IBM DB2 (pureXML [6] )
  2. マイクロソフトSQLサーバー[7]
  3. オラクルデータベース[8]
  4. PostgreSQL [9]

通常、データの大部分が非XMLである場合は、XML対応データベースが最適です。データの大部分がXMLであるデータセットの場合は、ネイティブXMLデータベースの方が適しています。

IBM DB2 SQL における XML 型クエリの例

select id vol xmlquery ( '$j/name' journal を"j"として渡す)をnameとしてjournals where xmlexists ( '$j[licence="CreativeCommons"]' journal を"j"として渡す)から選択します。                 

リレーショナルデータベースとの統合

XMLデータベースは、階層的なデータの管理と保存のために、リレーショナルデータベースと組み合わせて使用​​されることがよくあります。このような統合における大きな課題は、リレーショナルデータベースからXML文書を抽出することです。これには専門的な技術とツールが必要です。これらの技術には、次のようなものが含まれます。

  1. リレーショナル データの XML へのマッピング: スキーマ マッピングは、リレーショナル テーブルが XML 要素および属性にどのように対応するかを定義する重要なプロセスです。
  2. XQuery 処理: リレーショナル データベースから抽出された XML データのクエリには、XML のクエリと変換用に設計された言語である XQuery が使用される場合があります。

最も一般的なシナリオの一つは、WebサービスやAPIなど、XMLベースの標準規格に依存するシステムとの標準化を容易にするために、リレーショナルデータをXMLドキュメント[10]に変換することです。このプロセスは、構造化データと半構造化データが共存し、完全に統合する必要があるアプリケーションにおいて重要です。

たとえば、リレーショナル データベースから階層データを抽出して XML に変換することは、XML フィードを生成したり、システム間でデータを交換したり、XML ベースの構成を実装したりするときによく使われるアプローチです。

ネイティブXMLデータベース

ネイティブXMLデータベースは、XMLデータの処理に特化しています。XMLを大きな文字列として管理するのは非効率であり、またXMLの階層構造のため、ストレージとクエリにはカスタム最適化されたデータ構造が使用されます。これにより、読み取り専用クエリと更新の両方においてパフォーマンスが向上します。[11] XMLノードとドキュメントは、リレーショナルデータベースがフィールドと行を持つのと同様に、(論理的な)ストレージの基本単位です

W3C勧告に基づくXMLデータのクエリ標準はXQueryであり、最新バージョンはXQuery 3.1です。[12] XQueryはサブ言語としてXPathを含んでおり、XML自体はXQueryの有効なサブ構文です。XPathに加えて、一部のXMLデータベースでは、データベースから取得したドキュメントやクエリ結果を変換する方法としてXSLTをサポートしています。

言語機能

名前ライセンス母国語XQuery 3.1XQuery 3.0XQuery 1.0XQuery アップデートXQuery全文EXPath拡張EXQuery拡張機能XSLT 2.0XForms 1.1XProc 1.0
ベースXBSDジャワはいはいはいはいはいはいはいはいはいいいえ
存在するGNU LGPLジャワ部分的部分的はい独自の独自のはいはいはいはいはい
MarkLogicサーバーコマーシャルC++いいえ部分的はい独自の独自のいいえいいえはいはいいいえ
オープンテキスト xDBコマーシャルジャワ部分的部分的はいはいはいいいえいいえいいえいいえいいえ
Oracle Berkeley DB XMLコマーシャルC/C++
クイズコマーシャルジャワいいえいいえはいはいはいいいえいいえはいいいえいいえ
セドナApacheライセンス2.0C/C++

サポートされているAPI

名前XQJXML:DBRESTfulレスTXQウェブDAV
ベースXはいはいはいはいはい
存在するはいはいはいはいはい
MarkLogicサーバーはいいいえはいはいはい
クイズいいえいいえはいいいえいいえ
セドナはいはいいいえいいえいいえ

データ中心のXMLデータセット

データ中心のXMLデータセットでは、XMLデータベース用のユニークで独特なキーワード検索方法、すなわちXDMA [13]が、二重索引と相互加算に基づいて設計・開発されています。

参考文献

  1. ^ Nicola, Matthias (2010年9月28日). 「XMLをデータベースに保存する5つの理由」. Native XML Database . 2015年3月25日時点のオリジナルよりアーカイブ2015年3月17日閲覧。
  2. ^ Feldman, Damon (2013年4月11日). 「リレーショナルモデリングからXMLおよびMarkLogicデータモデルへの移行」. MarkLogic World . 2015年3月17日閲覧
  3. ^ [NoSQL Distilled: ポリグロット・パーシスタンスの新興世界への簡潔なガイド。Addison-Wesley Educational Publishers Inc、2009] ISBN 978-0321826626
  4. ^ 「XML Schemaの格納と問合せ:基本」『Oracle XML DB開発者ガイド、 10gリリース2』Oracle Corporation、2005年8月。 2015年3月17日閲覧. XMLスキーマに基づくXMLTypeテーブルと列の作成
  5. ^ 「ISO/IEC 9075-14:2011: 情報技術 - データベース言語 - SQL - パート14: XML関連仕様 (SQL/XML)」.国際標準化機構. 2011年. 2015年3月17日閲覧
  6. ^ 「pureXMLの概要 - XMLデータベースとしてのDB2」IBM Knowledge Center . IBM . 2015年3月17日閲覧
  7. ^ 「SQL ServerでのXMLの使用」Microsoft Developer Network . Microsoft Corporation . 2015年3月17日閲覧
  8. ^ 「XMLType操作」。『Oracle XML DB開発者ガイド、 10gリリース2』。Oracle Corporation。2005年8月。 2015年3月17日閲覧
  9. ^ 「8.13. XML型」。PostgreSQL 9.6ドキュメント。 2017年4月1日閲覧
  10. ^ 「リレーショナルデータベースからXML文書を抽出する - 7つのヒント」Vivid Origins . 2025年1月1日. 2025年1月6日閲覧
  11. ^ Matthias, Nicola (2010年8月22日). 「XMLとリレーショナルデータベースのパフォーマンス比較」.ネイティブXMLデータベース. 2017年3月4日時点のオリジナルよりアーカイブ。 2017年6月28日閲覧
  12. ^ 「XQuery 3.1 勧告」. 2017年3月21日.
  13. ^ Selvaganesan, S.; Haw, Su-Cheng; Soon, Lay-Ki (2014). 「XDMA: XMLデータベースのためのデュアルインデックスと相互和に基づくキーワード検索アルゴリズム」. International Journal of Software Engineering and Knowledge Engineering . 24 (4): 591– 615. doi :10.1142/s0218194014500223.


「https://en.wikipedia.org/w/index.php?title=XML_database&oldid=1313681255」より取得