XMLデータベース製品カタログ 2003
〜ネイティブXMLデータベース編〜

山田祥寛
2003/9/26


紹介する製品
NeoCore XMS
Tamino
Sonic XIS
EsTerra XSS
Apache Xindice
ネイティブXMLデータベース概要

 XMLの導入がビジネス局面で本格化している。XMLデータベースはXML活用において、重要な推進力であることは間違いない。

 本連載では、XMLに対応したデータベース製品を、大きく「ネイティブXMLデータベース」「XML対応リレーショナルデータベース」に分類し、機能的な特性を中心に紹介することにする。

 第1回の今回は、XMLストレージとして最も純粋で、さまざまなシステムへの適用も進んでいる「ネイティブXMLデータベース編」をお届けする。第2回では「XML対応リレーショナルデータベース編」を紹介していく予定なのでご期待いただきたい。

なぜ、ネイティブXMLデータベースなのか

 端的にいうならば、「ネイティブXMLデータベース(NXDB)」とは、Well-FormedなXMLをネイティブな――XMLツリー構造をそのままの形式で格納可能なデータベースのことをいう。データベースというと、いわゆるOracleやSQL Server、DB2に代表されるようなリレーショナルデータベース(RDB)とイコールであると思われがちだが、「データベース」という言葉は、ただ単に「データを蓄積するストア」を表しているにすぎず、RDBに限定されるわけではない。RDBは「テーブルと呼ばれる2次元表ですべてのデータが格納されるため、直感的で分かりやすい」「フィールド間にリレーションを設定することで複雑なデータ構造も表現できる」という利点で、爆発的に普及した。そう、一部の人間には、「データベース=リレーショナルデータベース」という誤解を与えるほどに。

 しかし、それならば、なぜいまネイティブXMLデータベースなのだろうか。本稿では、主要なNXDB製品の紹介に入るに先立って、まずはRDBでは「いけない」理由、そして、NXDBで「なければならない」理由について、簡単に紹介しておきたい。

10%の不確定要素が開発の遅延を生む

 「RDBではダメである」といっても、本稿では決してRDBの時代が終わったというつもりはないし――ましてや、NXDBによってRDBが置き換えられるなどと主張するつもりも毛頭ない。ただ、RDBでは明らかに対応できない局面、あるいは、RDBで「無理に」対応していた局面があったのは事実である。

 ご存じのとおり、RDBは厳密なスキーマ(構成)情報を前提とするデータベースモデルである。つまり、上流設計においてテーブル・フィールド設計が不確実なままでは、下流の実装工程を進めることはできない。仮に下流工程を強引に推し進めたとしても、頻発する(であろう)設計の変更には容易に対応できないのだ。

 しかし、実際の開発局面では「9割方の設計は決まった。しかし、あと1割が決まらない」というケースは少なくない。

 また、システムリリース後も、9割方は恒久的に使用される情報であるにせよ、残り1割はその時々のビジネス変動によって、常に変更の可能性にさらされている流動的な要素を含む。ユーザーからの日々の改定要求によって発生するデータベーススキーマの変更、そしてそれに伴うアプリケーション対応にほんろうされている保守担当者は決して少なくないだろう。「われわれはいつまでデータベースのお守りをしていればいいのだろう?」。それは、常日ごろに聞こえてくる開発者の本音であるかもしれない。

 そこでNXDBの登場なのである。NXDBは、必ずしも構造が明確でない半構造のXMLデータをそのまま格納できる。スキーマにとらわれないから、アプリケーション開発後(途中)の構造変更にも比較的容易に対応することができる。商品売上マスタにおいて顧客の年齢層・性別を追加したいと思ったら、XMLツリーに部分木をただ「接ぎ木」すればよい。

 同様の理由で、異なるスキーマ・フォーマットを持ったデータを連携させたい場合にも、スキーマの束縛から解き放たれたNXDBでは、とにかくデータを1つのデータベースに収め、共通部分のみを縦ぐしに検索することが現実のものとなる。

 以上から分かるように、ネイティブXMLデータベースは

  • 構造変動が激しい
  • 管理項目の拡張が頻繁に行われる

ような局面で有効であるといえよう。

不可知のナレッジを可知(価値)あるナレッジへ

 2つ目に、NXDBではこれまでリレーショナルデータベースには格納することが「できなかった」データを扱うことができる。

 すなわち、帳票やドキュメント、原稿記事のような構造が極めて緩やかなデータ群がそれである。もちろん、RDBでも単純なLONGTEXTとして格納すれば、管理できないわけではない。しかし、LONGTEXTとなったデータに何の意味があるだろう。単純なプレーンテキストとして出力するのが関の山であるし、無用にデータベースを重くする要因にしかならない。そのため、このような半構造データについては、ファイルサーバやグループウェア上などで別管理し、RDBで管理するにしても、インデックス情報や属性情報などの限定された情報を「別物として」格納するのが慣例的であった。

 しかし、NXDBでは上述したようなスキーマレス(あるいは、スキーマ・インディペンデント)な性質ゆえに、このような半構造データを格納するのも容易である。可視的なデータとして管理すべき部分にはタグ付けがなされているので、属性情報をわざわざ別に管理する必要はない。もちろん、管理すべき項目が新たに増えた場合にもドキュメント自体にタグを追加してやりさえすればよいのだ。

 こうした「管理データのブレイクダウン」をRDBで行うには、該当のデータを削除し、あらためて分割されたデータを、新たなスキーマとともにインポートする必要があった。1度や2度ならばともかく、このようなことを日常的にやらねばならないとしたら「勘弁してもらいたい」といったところだろう。

XMLドキュメントをネイティブに

 ネイティブXMLデータベースという名前のそのままと思われるかもしれない。しかし、これは最も重要なポイントでもある。

 昨今、システム間連携の必要が叫ばれている。企業間連携(BtoB)、企業内アプリケーション統合(EAI)をはじめ、ERPやSCMのようなキーワードもすべて根は一緒で、これまでバラバラであったシステムを統合・連携することで、業務フローの円滑化とシステム運用コスト削減を目指すものである。

 このような連携局面において、もちろん、一からシステムを再構築し直し、1つのデータベースで業務情報を管理できるならばよい。しかし、それでは再構築コストがいくらあっても足りないし、スケーラビリティの制約もある。そもそも企業間連携の世界では、1つのシステムで解決しようという前提自体が非現実的なものだろう。

 そのようなときにデータ交換用のフォーマットとして利用される機会が多くなってきたのがXMLである。XMLはその自己記述性と中性的な性質(環境非依存性)によって、非常な注目を浴びている。いまさら特筆するまでもなく、RosettaNetのPIPSやebXML、AribaのcXML、XML EDIなど、いまやビジネスプロトコルのあらゆる局面でXMLが導入されつつある。

 しかし、このようにデータフローの媒体としてXMLが主流になっても、依然としてバックエンドシステムがレガシーなRDBであったとしたらどうだろう。XMLデータによって実現されたせっかくの柔軟性も、RDBの厳密な構造スキーマの制約を受けざるを得ない。しかも、XMLのツリーデータをRDBの2次元表にマッピングする手間は、アプリケーション層の開発に多大な負荷を課すものでもある。

 しかし、NXDBを利用することで、システム間(外)でやりとりされるXMLデータを「そのまま」データベース管理することができる。このことは、ますますデータ統合・連携が当たり前となってくる今後のトレンドにあって、パフォーマンスの観点からもアプリケーション維持コストの側面からも、決して看過できない特性なのである。

ネイティブXMLデータベースの主要製品

 さて、NXDBの主要な特性を概観できたので、いよいよ具体的な製品紹介に移ろう。

 本稿では、オープンソースを含む5つの製品を紹介する。まずは5製品の特性についてマトリックス表にまとめてみたので、ご覧いただきたい。(筆者も驚いたのだが)最初はどれも似たようなものだろうと思っていた製品が、こうして横並びに比較してみると、意外なほどそれぞれに独自色を醸し出しているのが面白い。

製品名 特徴 リンク
NeoCore XMS フルオートインデックスで“超”高速を実現、XRAD開発を可能とする
Tamino メインフレームのノウハウを受け継いだ堅牢なデータベースサーバ
Sonic XIS 統合的な製品ラインアップが魅力的なオールラウンドソリューション
EsTerra XSS 日本発、日本語環境に最適化されたデータベースサーバ
Apache Xindice Apache Software Foundationから提供されるフリーのネイティブXMLサーバ
ネイティブXMLデータベース製品一覧(クリックすると機能比較表が開きます

 では、いよいよ次ページから各ネイティブXMLデータベース製品について紹介していく。

  1/6 NeoCore XMS

Index
XMLデータベース製品カタログ 2003
〜ネイティブXMLデータベース編〜
ネイティブXMLデータベース概要
  NeoCore XMS
フルオートインデックスで“超”高速を実現 XRAD開発を可能とする
三井物産株式会社/三井情報開発株式会社
  Tamino
メインフレームのノウハウを受け継いだ堅牢なデータベースサーバ

株式会社ビーコンIT
  Sonic XIS
統合的な製品ラインアップが魅力的のオールラウンドソリューション

プログレス ソフトウエア株式会社
  EsTerra XSS
日本発、日本語環境に最適化されたデータベースサーバ

株式会社メディアフュージョン
  Apache Xindice
Apache Software Foundationから提供されるフリーのネイティブXMLサーバ

The Apache Software Foundation


関連記事
 ・XMLデータベース製品カタログ 2003 〜XML対応リレーショナルデータベース編〜
 ・XMLサーバカタログ 2001〜Summer 〜XMLデータベース編〜
 ・.NET Enterprise ServersのXML度を探る

「XMLデータベース製品カタログ2003」



XML & SOA フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

HTML5+UX 記事ランキング

本日月間