リレーショナルとXMLをネイティブに扱えるDB2 pureXML
多くのリレーショナルデータベースではXMLが扱えるとはいえ、上記のような状況のためXMLの特長を最大限に活用しているとは言い難い。活用するにはXML形式のデータをそのまま管理できる、XMLデータベースを利用することになる。
これならば、項目の追加やデータ構造の修正も容易に行え、さらにプログラム変更も最小限でその変更をシステムに反映させることも可能だろう。逆にXML専用データベースは、トランザクションデータの扱いは不得意。そのため、システムでXMLの柔軟性を確保したければ、現実的にはリレーショナルデータベースとXMLデータベースの2つを連携させて利用することになるのが普通だ。
これはこれで、異なるシステムを運用し、連携させるという大きな手間がかかることになりかねない。 このような状況は、XMLが扱える機能を持つデータベースであるOracleでもSQL Serverでも同様だ。それに対し、従来のリレーショナルデータベースで無理矢理XMLデータを扱えるようにするものではなく、ネイティブにXMLを扱えるようにしたのがIBM DB2のpureXMLという機能だ(図3)。
通常のリレーショナルデータベースのエンジンに加え、XMLを扱うための専用のエンジンとデータ格納領域を、DB2という1つのデータベースに統合してしまったのだ。 当たり前だが、リレーショナルデータベースでのXMLデータベースもどきの機能よりも、XMLデータを扱う性能は高くXMLの柔軟性を十分に発揮できる。そして、これまでのSQL技術者はSQLで、新しいタイプのXMLベースの開発者はXqueryなどを用いXMLデータをネイティブに扱うことができる。