RDBとXML DBは得意分野が違う

基幹システムのような変化を望まない定型データは、RDBの得意分野です。しかし、データ構造の追加や変更が日常的なeビジネス、あるいは構造の未確定な紙情報をとりあえず電子化する場合など、スピードと柔軟性の求められる情報系システムでは、XML DBがその威力を発揮します。

RDBにはXMLデータを格納できないの?

複雑な階層構造のデータの取扱いやデータ構造の追加変更が頻繁に発生するような情報系システムにおいては、XMLをそのまま扱えるXML DBの方が、RDBのXML拡張機能に比べ、高いパフォーマンス性能と、高い費用対効果を得られます。

XMLデータを格納で可能なRDBの登場

RDBの中にはXMLを格納できるよう機能拡張した製品があります。 データ型の中にXML型というものを用意してその中にXMLを格納しています。 但しRDBのXML管理機能は、従来の表形式を管理するデータベースが付加的にXMLデータの格納機能を追加したものであり、XMLデータを専門に処理する目的に設計されたXMLデータベースとは全く異なる製品であると言えます。

XMLデータベースの種類:ハイブリッド型/XML専用型

スキーマレスデータの検索パフォーマンスは、XMLデータベースに軍配

XMLデータを格納できるRDBを使う上で、注意しなければいけない点がいくつかあります。

まず、XMLのサイズに制限があったり、データによって格納方法を変える必要があったりと使いこなすのが難しい面があります。 また、製品によってはレコードをまたいだ検索が非常に遅かったりする場合もあります。

XMLのハンドリングは重たい処理なので、専用DBMSを利用した方がメリットが大きいと思われます。特に複雑な階層構造のデータの取扱いやデータ構造の追加変更が頻繁に発生するような情報系システム、特にドキュメント管理やコンテンツ管理の分野においては、XMLをそのまま扱えるXMLデータベース(XML DB)の方が、ハイブリッド型XMLデータベースに比べ、高いパフォーマンス性能と柔軟性、高い費用対効果を得られます。特に差が顕著に出るのが検索系で、処理によりRDBのネイティブXML機能で1秒かかる処理が0.1秒前後で可能となります。

RDBにXMLデータを格納する方法は次の3通りです。(下図①~③参照)

①XMLとテーブル形式の間でマッピングが必要

各テーブルに対してXMLを分解し、マッピングして格納する方法。これは、データ構造が変わると結局テーブルを設計し直す必要があり、本来XMLが持っている高い柔軟性は損なわれてしまいます。

XML/XML DBのサイバーテック:RDBはXMLとテーブル形式の間でマッピングが必要

②CLOBフィールドに格納

CLOBフィールドにXMLをそのまま格納する方法。XMLの形式にとらわれずに格納することができますが、パフォーマンスが非常に悪くなります。

XML/XML DBのサイバーテック:CLOBフィールドに格納

③XML型を扱えるRDBの機能拡張

RDBにXML型が扱えるように機能拡張した製品がありますが、XML型のフィールドに格納した場合、スキーマレスデータに関しては、検索パフォーマンスの低下や開発効率の低下につながります。

XML/XML DBのサイバーテック:XML型を扱えるRDBの機能拡張

XMLの階層構造をそのまま格納・利用できるXMLデータベース

一方、XMLデータベースは、 「階層構造」のデータを効率的にハンドリングし、XMLが持つ「柔軟性・拡張性」を最大限に生かしたアプリケーションを開発するための様々なテクノロジーを搭載しています。これにより、高い柔軟性を維持したまま、XMLデータを高速に利用することができます。開発効率を下げる複雑なマッピング処理や、パフォーマンス性能の低下に悩むことはもうありません。

XML/XML DBのサイバーテック:XMLの階層構造をそのまま格納・利用できるXMLデータベース

御相談、ご質問はこちら

サイバーテック お問い合わせ
電話番号 03-5457-1770 お気軽にご相談ください

製品カタログ・セミナーでの講演資料など、豊富な資料がダウンロードできます

サイバーテック 製品カタログ 資料ダウンロード

最新事例の公開情報や、イベント・セミナー情報をお届け

サイバーテック メルマガ登録