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

山田祥寛
2003/9/26


紹介する製品
NeoCore XMS
Tamino
Sonic XIS
EsTerra XSS
Apache Xindice
Tamino

■メインフレームのノウハウを受け継いだ堅牢なデータベースサーバ

 「Tamino(タミーノ) XML Server」は、独Software AG社が開発を行い、ビーコンITが日本国内の販売代理店となるネイティブXMLデータベースサーバである。2000年7月に国内販売を開始以来、度重なるバージョンアップで機能を充実させているXMLデータベースの定番製品だ。

 Software AG社は、もともとメインフレーム分野で強い支持を集めたデータベースサーバ「Adabas」の開発元でもある。Taminoの特徴とは、このAdabasで培った信頼性とスケーラビリティのノウハウを、インターネット時代のXMLデータベースサーバにふんだんに取り入れた点にあるといえよう。

■豊富な周辺・管理モジュール

 Taminoを構成するのは、コアとなるXMLデータベースエンジンばかりではない。以下にTaminoを構成するさまざまなユーティリティやツール群の構成を挙げてみた。

 Taminoのアーキテクチャ

XMLエンジン

 XML文書の格納、検索、更新など、Taminoのコアなサービスを管理する。XMLパーサをはじめクエリプロセッサ、オブジェクトプロセッサ、オブジェクトコンポーザ、統合ネイティブXMLデータストアから構成される。与えられたXML文書を他フォーマットに変換・マッピングしたり、DOMツリーに展開することなく「そのまま」格納することができる「XMLオブジェクトの直接保管ストレージ」は、Taminoにおけるパフォーマンスを保証する要素の1つでもある。

データマップ

 Tamino内のデータベース構造を管理するナレッジベース。DTDやXML Schemaから生成されたTamino Schema、スタイルシート、リレーショナルスキーマなどのメタデータを管理し、XMLオブジェクトの保管場所や構成をルール付けする。データマップを介することで、XMLツリーの一部のみを外部のリレーショナルデータベースからマッピングし、取得するといった操作も可能となる。

Tamino Manager/X-Plorer

 Tamino Managerは、データベースの作成、Taminoの起動・停止、バックアップ、リストア、ローディングなど、Taminoを管理するためのWebベースの対話型インターフェイスを提供する。Managerを用いることで、ネットワーク上に分散されたTamino Serverをインターネット経由で集中的に制御することが可能となる。

Tamino Managerの画面イメージ

 有償オプションとして、コンテンツ管理をサポートするTamino X-Plorerも提供されている。X-PlorerはMicrosoftエクスプローラに似たインターフェイスを提供し、データベース構造やユーザーデータを検索・編集することができる。こちらはManagerと異なり、いわゆるWindowsアプリケーションであるが、Javaベースで記述されているため、Java仮想マシンが稼働するプラットフォームであれば、環境を問わない。

 また、X-Plorerはそれ自身でGUIを提供するだけでなく、XML SpyやXML Authorityなど他ベンダのプラグインとしても動作する。これによって、ユーザーに使い慣れたユーザーインターフェイス(UI)を提供できるのもX-Plorerの強みといえよう。

Tamino X-Tension

 Taminoの基本機能にユーザー定義関数やトリガ機能を実装するためのサーバ拡張。JavaやC++、そのほかのCOM対応した言語で記述することができ、Taminoの基本機能では賄うことができないユーザーカスタムのデータ操作、外部アプリケーション連携を可能とする。いったんサーバ上にインストールされたサーバ拡張は、ユーザーがX-Queryやマッピングを介して利用する限り、「標準的な関数と同じ要領で」利用することができる。

Tamino X-Node

 ネイティブXMLデータベースとはいえ、実際の運用局面ではレガシーなリレーショナルデータベースとの連携が欠かせない局面も少なくない。そのような場面にX-Nodeを介することで、リレーショナルデータベースの2次元表とXMLデータとを容易にマッピングすることができる。

 ただ、X-Nodeをただ単にレガシーな資産とのマッピングツール、トランスフォーマと位置付けるのはいささか語弊があるだろう。X-Nodeを利用することで、分散された企業内データを統合することができ、Taminoを仮想的な「セントラルサーバ」として位置付けることが可能となる(Single Server View)。部門間に分散したデータベースサーバの統合に腐心してきた開発担当者にはうれしい機能の1つであろう。

■階層構造に依存しないインデックス技術

 Taminoでは大きく2系統のインデックス技術を実装する。これによって、検索レスポンスがXML文書の階層に依存しない、高速な処理パフォーマンスを実現している。

転置ファイル型リスト

 例えば、以下のようなXML文書があったとしよう。

<フルーツ>オレンジ</フルーツ>
<フルーツ>りんご</フルーツ>
<フルーツ>バナナ</フルーツ>

 Taminoでは、要素/属性ノードからテキストノードのみを抽出し、以下のようにテキストとドキュメントIDからなるリスト――転置ファイル型リストを作成する。

テキスト ID
オレンジ 1
リンゴ 2
バナナ 3

 この転置ファイルによって、TaminoはXML文書検索時にいちいちXMLツリーを解析する必要がない。転置ファイルからダイレクトに目的のテキストにマッチングさせることによって、高速に対象のドキュメントを検索できる。

 もちろん、転置リスト自体は完全にフラットな2次元表であるから、オリジナルのXML文書がどんなに深いツリー階層を構成していても、パフォーマンスに影響を受けることはない。

日本語形態素解析機能

 ただし、XML文書は必ずしも厳密にタグ付けされているとは限らない。要素単位のインデックスだけでは、XML文書内に往々にして含まれる自然文を検索する際に、十分なパフォーマンスを確保できない場合もあるだろう。そこで登場するのが、この「日本語形態素解析」の機能なのである。

 日本語形態素解析は自然文から語彙(ごい)を判断して単語分割を行い、インデックスを生成する。これによって細部にまでタグ定義が行われていない半構造なXMLデータに対しても、高速な全文検索を行える。

 この日本語形態素解析の機能は、インターネット・サーチエンジンで有名な「Google」の基本技術として採用されているものでもあり、将来的にはシソーラス機能も追加される予定である。

 Taminoでは、これら2系統のインデックスを、XML文書がデータベース上に格納されたタイミングで自動的に生成することで、開発者にインデックス・チューニングの負荷を与えない。これは非定型的なデータを扱うXMLデータベースにおいて重要なポイントであるといえよう。

■Well-Formed(整形式)/Valid(妥当な)XML双方への柔軟な対応

 Taminoは、W3C標準のXML SchemaやDTD(Document Type Definition)を前提としたValidなXML文書だけではなく、XML 1.0の構文規格にのみのっとった――Well-FormedなXML文書を扱うことができる。

 Well-Formedを許容することは、必ずしも厳密なメタ定義を前提としないXMLデータベースには欠かせない機能の1つでもある。つまり、厳密な構造・型チェックが必要なデータについてはXML Schema/DTDを用意しておくこともできれば(リレーショナルデータベースとのマッピングを行っている場合などは特に重要だ)、データ構造が定まらない、限りなく非定型に近いデータについては、XML文書のみをそのまま格納することも可能であるわけだ。

 また、一部ツリーにのみXML Schema/DTDを適用し、そのほかのツリー部分については、メタ情報を持たない(部分的な)Well-FormedなXML文書を格納することもできる。これによって、システム全体として共通のスキーマで管理すべき情報をコアとしつつ、ローカルに管理したいスキーマレスの情報を拡張していく、というような使い方が可能となる。

■Taminoの支援アプリケーション

 Taminoのもう1つの魅力は、Taminoをバックエンドに置いたシステム構築を容易にする支援アプリケーションが提供されていることだ。

 例えば、「Tamino Interactive Interface」。Taminoに対するデータ定義や検索を行えるWebベースのアプリケーションで、W3C標準のXQueryなどを用いた検索ができる。加工する必要のないデータをただ検索するという用途だけならば、このTamino Interactive Interfaceで十分であろう。

 もう少しユーザーカスタムなインターフェイスを作成したいという場合には、「Tamino X-Application」も用意されている。Tamino X-ApplicationはJSP(JavaServer Pages)ベースのアプリケーションフレームワーク(というよりも、テンプレート集)というべきだろうか。あらかじめ用意されたタグライブラリを利用することで、プログラムレスで検索・更新アプリケーションを作成することができる。

 上記の2つとはいささか趣を異にするが、「Xuras Workflow(ジュラス・ワークフロー)」も興味深い製品の1つといえるだろう。Xuras Workflowは、日本の販売代理店であるビーコンITが日本独自に開発したもので、既存アプリケーションをワークフローとして連携させるためのフレームワークを提供する。ワークフローをXMLドキュメントとして独立した形で定義することで、既存のデータ構造やアプリケーションになんら影響を与えることなく、相互の連携を実現できる。

3/6 Sonic XIS

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 記事ランキング

本日月間