本文へジャンプ

RDBとXML DBのメリットを融合した
新世代のハイブリッド・データベース


Background

昨今、情報システムの現場でXMLの技術が注目を集めています。ブログやウィキペディアに代表されるWeb 2.0の仕組みは、XMLの技術によって支えられているものです。また、企業の情報システムで注目を集めるSOAもXMLのテクノロジーに支えられています。さらに、OpenOfficeやマイクロソフト・オフィスの文書の保存形式の標準にXMLが採用され、それぞれの業界でデータ交換の標準フォーマットにXMLが採用されている事はよく知られています。このようなXMLの広がりを受け今後はXMLデータのストアが非常に重要なポイントになってきます。

何故これほどまでにXMLが注目を集めているのか?

XMLが世の中に出て、すでに10年が経過しました。気がつくと、さまざまなところでXMLデータが活用され始めています。なぜ、これほどXMLが注目されるのか?その答えの一つに、XMLデータ自体の特徴にあります。
XMLは、データの意味をタグを付けて表現することのできる構造化言語なので、データ自身に意味を持たせることができ、システムでの処理を容易に行えます。また、テキスト表記であるので、どのプラットフォームでも利用でき、システム間でのデータ交換に適しています。さらに、これまでのオフィス文書のように独自のフォーマットではないので、特定のアプリケーションに縛られることはありません。このような利点に加え、次に示すような、変更に対する柔軟性がXMLの重要な特徴です。

XMLの売りは柔軟性
システムの開発中、あるいは稼働中にデータの項目を追加したり、削除したり、変更したくなることは珍しい事ではありません。むしろ当たり前に起こることです。しかし、XMLなら、変更に対して大きな力を発揮します。XMLデータは、要素や属性タグの追加・削除により、変更要求に対応します。RDBと比較するとその差は顕著です。RDBの場合、最初にデータの構造を厳格に設計し登録しますので、データ項目の追加・削除・変更要件に対し、データベースの構造を作り直し再登録する必要があります。このためデータベース管理者は、システムを停止しその間に変更作業を行いますので、多大なワークロードとコストを覚悟しなければなりません。一方、XMLはデータ自身がデータ構造を表しているため、 データベースへの登録は不要です。構造が変更されてもデータベース・システムは影響を受けません。該当するアプケーションだけを変更すればよいのです。この柔軟性は従来の開発法の発想を換え、運用面からの制約から開放します。

更に、XMLにはもう一つ重要な特徴があります。それが「一つのソースで、複数の表示法を実現」です。データから表示部を切り離すことにより、一つのソースデータに対しさまざまな表現・表示方式を採れるようになっています。つまり、用途に応じてレイアウトを換えて文書や帳票にしたり、グラフや図や表などで表示させることが簡単に行えるのです。これまでのように、データと表示法が一対一になっていると、データの用途が限定されますが、XMLな一つのデータを色々な用途や場面で自在に活用できるのです。

高まるXMLデータの格納のニーズとその実現方法
さまざまな利点を持つXMLは、データ交換をはじめ、申請書や文書やマニュアルなどのドキュメント管理、帳票やフォームを扱うワークフロー、インターネット、さらには蛋白質の立体構造を記述する理化学用途などさまざまなシーンに登場します。すでにXMLはスタンダードの地位を確立したと言えます。XMLが普及し膨大な量のデータが扱われるようになると、データを格納し、共有し、再利用したいというニーズがでてきます。これに答えたのが、「XML専用データベース」と「RDBによるXMLサポート」です。
「XML専用データベース」は、XMLデータを最適な形で処理したり格納するために設計されています。一方、「RDBによるXMLサポート」は、XMLデータをRDBのカラムにマッピングして格納するタイプと、XMLデータをテキスト・データ(CLOB)として一つのカラムに格納する2つのタイプが一般的です。
それぞれに、長所短所があります。XML専用データベースはXMLデータに最適化されているとは言え、運用管理・可用性・セキュリティー・スケーラビリティーなどのデータベースとしての機能はRDBに比べると弱いといえます。さらに、ビジネスで発生するトランザクション・データとXMLデータを両方使いたいと言うニーズに答える事はできません。通常ビジネスで発生するトランザクション・データはRDB上に格納されているので、RDBとXML専用データベースの2つを用意することになり、お客様にとっては2重投資になります。

さて、「RDBによるXMLサポート」の方はどうでしょう?歴史の長いRDBはデータベースとしての機能は充実していますが、XMLデータ処理のために設計された訳ではありません。先ほど、「RDBによるXMLサポート」方式を2つご紹介しましたが、最初のXMLをリレーショナルにマップする方法では、検索のスピードは速い可能性がありパフォーマンス面では有利ですが、リレーショナルにマップするという操作が必ず必要となるため、XMLの柔軟性という利点は損なわれてしまいます。2番目の、XMLをテキスト・データ(CLOB)として格納する方法では、XMLの柔軟性は保てますが、毎回の検索時にXMLの構造を解析する必要があり、更にRDBのようなインデックスが利用できなかったりして、パフォーマンス面で大きな難点があります。
また、XMLのアクセス言語XQueryも最終的にはSQLに変換されRDBにアクセスするので、オーバーヘッドが避けられません。
このように、これまでのXMLのサポートでは、長所短所を見極めて何を利用するかを決定しなければなりませんでした。

しかし、「DB2 9」のXMLサポート:pureXMLは、これらの課題を解決しました。「XML専用データベース」と「RDBによるXMLサポート」双方の長所を取り込んだ、「ハイブリッド・データベース」がIBMの出した答えです。

他とは違うDB2 9のXMLサポート: pureXML

DB2 9のpureXMLはこれまでの「RDBによるXMLサポート」とは違う新しい方式を採用しています。XML専用DBが持つテクノロジーが実装されているので、RDBでありXML専用DBでもあるハイブリッド・データベース、それがDB2 9です。
DB2 9は、一つのDBにRDBとXMLDBが組み込まれていますが、ユーザーはシングル・インターフェイスでどちらのデータにもシームレスに利用できます。 アクセス・インターフェイスには、XQueryとSQL/XMLどちらも利用可能で、いずれを使ってもXMLデータとRDBデータの両方にアクセスすることができます。データへのアクセスに関してもハイブリッドなのです。これが、DB2 9が業界初のハイブリッドDBといわれる所以です。

DB2のpureXMLは、XMLの処理に最適な形でDB上に格納するので、XMLの大きな特徴である柔軟性を失なうことなく、XMLデータを高速に処理を行うことができます。一方、通常のビジネス・シーンでは、XMLデータだけでなく、企業内のビジネス・データといっしょに使いたいケースが多々あります。多くのビジネス・データはRDB内に格納されています。DB2 9なら、XMLデータとRDBデータを両方扱えるハイブリット・データベースなので、このようなケースにまさにうってつけです。DB2 9が一つあれば幅広いビジネス・ニーズに対応します。もう、XMLDBとRDBの2重投資は不要です。
これまでで、pureXML機能を搭載したDB2 9が、他とは違う真の「ハイブリッドデータベース」であることがお分かりいただけたと思います。パフォーマンス、開発生産性、設計の柔軟性、管理の容易さ、という観点で全く異なります。すでに、ご利用頂いていたお客様は、その違いを実感されています。DB2のpureXMLだから実現できる違いを是非体感してください。

IBM、IBM ロゴ、ibm.com、DB2およびpureXMLは、世界の多くの国で登録されたInternational Business Machines Corp.の商標です。他の製品名およびサービス名等は、それぞれIBMまたは各社の商標である場合があります。現時点での IBM の商標リストについては、www.ibm.com/legal/copytrade.shtml (US) をご覧ください。

Information Management software

おすすめ情報

【コラム】pureXMLって、なに?