DB2 9からはXMLをネイティブに扱うpureXMLエンジンが搭載されましたが、それ以外に旧来のXMLをRDBMSの列に分解して格納する機能(ディコンポジション)もpureXMLエンジンを使って機能拡張され、XML文書に対するアノテーションによるディコンポジション機能や、速度向上が図られています。
- Shred XML documents using DB2 pureXML (dW)
- DB2 9 ディコンポジション(XML文書の分解)機能とアノテーションの概要 (IBM)
基本的には、通常のpureXML機能を使ってXML型列にXML文書を格納する方がXMLのメリットを最大限生かせるのでお勧めなのですが、上記のようにディコンポジションにもXML型には無いメリットが色々あります。
おそらく一番のメリットは既存の表にXMLデータを挿入できるようになる事で、既存システムに大きな変更を加えることなく、XMLデータを受け入れられるようになります。また、一部のデータのみディコンポジションで格納することで、ディスク容量の節約も可能です。
- Shred XML documents using DB2 pureXML (dW)
- DB2 9 ディコンポジション(XML文書の分解)機能とアノテーションの概要 (IBM)
DB2 9から実装されたアノテーション付きスキーマによるディコンポジション(XML文書の分解)機能とアノテーションのつけ方に関する概要を説明した資料です。この機能を用いることで、XML文書を分解して従来のリレーショナル表へ容易に挿入することが出来ます。また、同時にXML文書全体やその一部分の XMLツリーをXML列に格納することも出来ます。
基本的には、通常のpureXML機能を使ってXML型列にXML文書を格納する方がXMLのメリットを最大限生かせるのでお勧めなのですが、上記のようにディコンポジションにもXML型には無いメリットが色々あります。
おそらく一番のメリットは既存の表にXMLデータを挿入できるようになる事で、既存システムに大きな変更を加えることなく、XMLデータを受け入れられるようになります。また、一部のデータのみディコンポジションで格納することで、ディスク容量の節約も可能です。