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

山田祥寛
2003/9/26


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

■日本発、日本語環境に最適化されたデータベースサーバ

 「EsTerra(エステラ)XML Storage Server(EsTerra XSS)」は、今回ご紹介する中では唯一、日本人によって開発された日本発の製品だ(前バージョンは「Yggdrasill」)。もちろん、ほかの製品も国際化対応は十分になされているが、日本人による開発ということで、日本語(マルチバイト文字)特有の問題などにもきめ細やかな配慮がされている。

 開発元のMedia Fusionは、もともとXMLデータベースを利用した自治体向けインターネットシステムを構築した際にXMLの可能性を認識し、XMLデータベースの開発に踏み出した経緯がある。EsTerra XSSが持つ機能の1つ1つが、こうしたユーザーの抱える問題に対するダイレクトなソリューションであるといえよう。

EsTerra XSSの製品構成

■Well-Formed/Valid双方に対応できる柔軟なデータストレージ

 EsTerra XSSでは、XMLに要求される文法に従ったWell-Formed XML、スキーマ定義されたValid XMLの双方に対応しており、Valid XMLを格納する際のバリデーションには国際標準化団体OASISが推進しているRERAX NGが採用されている。

 XML Schemaがリレーショナルデータベースのような構造化データを強く意識していることから、極めて膨大な仕様となったことは有名な話であるが、RELAX NGはよりシンプルな言語仕様を提供する。同じスキーマを記述するにも何分の1から何十分の1の記述で済んでしまうあたり、ValidなXMLを記述する際の生産性を左右する大きな要因ともいえよう。

 RELAX NGはW3C標準でない点にいささかの不安を感じる方もいるかもしれないが、OASISが積極的に推進している標準であり、言語それ自体としての普及度、開発ツールの浸透度合いなどを見れば、決してマイナス要因ではない。また、ほかのスキーマについては組み込まれてはいないが、それぞれのバリデータで検証してEsTerra XSSに格納することができる。

■パフォーマンスとスケーラビリティを両立する独自のアーキテクチャ

 EsTerra XSSでは、ノード単位のトランザクション/アクセス制限、ネームスペース、外部参照に完全対応し、さらにリレーション機能も備えたうえで、大容量のWell-Formed XMLを高速に処理できることが大きな特徴である。

 さらに、外部インデックスと連携できるのも面白い点といえるだろう。外部インデックスは、特定のドキュメントに特化したインデックスを構築するための外部モジュール(実行時ライブラリ)である。例えば、全文検索においてさらなる高速化を図りたい場合には、XML文書(または必要とされる検索結果)単位で検索アルゴリズム自体のカスタマイズを行える。

 また、EsTerra XSSの前バージョンであるYggdrasillでは、インデックスやデータストリーム自体をメモリ上に展開していたため、大量のデータを格納することができなかった。この問題を解決するためEsTerra XSSでは、外部ストレージにすべてのXMLドキュメントを収め、必要な部分のみをキャッシュに収めることで、ハンドリング可能なドキュメント量を主記憶サイズの制約から解放した。その結果ストレージサイズはファイルシステムの上限もしくは16T(テラ)bytesまで設定可能となり、従来困難であった巨大な、あるいは大量のドキュメントのハンドリングが可能となった。もちろん、コアエンジンとストレージとはストレージキャッシュサブシステムによって密に結合されているので、効率的なディスクアクセスが可能である。

 また、セキュリティについては、オプションではあるが、リポジトリ暗号化機能がありデータブロック全域を暗号化することが可能で、データベース領域自体を含むストレージ全体のデータを不正アクセスや盗難などによる漏えいから守ることができる。

■データ層とアプリケーション層を明確に分離する イベントハンドラ(トリガ)

 イベントハンドラ機能を用いることで、EsTerra XSSへのリクエストに対して各種イベントを発生し、対応するスクリプトコードを実行することができる。例えば、ほかのシステムやデータベースとの同期を取る場合などに用いる機能であり、データ依存的なロジックをアプリケーション層から切り離すことで、より柔軟なデータ層の運用が期待できる。

 イベントプロシージャ(コード)自体は、PerlやRubyスクリプト、あるいは実行バイナリなど言語を問わないので、自由な環境での開発が可能である。記述したイベントプロシージャは、管理ツールから登録するだけでよい。

■スケーラビリティとレガシー資産の有効活用を同時に実現する、パラレルツール&異種データベース接続ツール

 パラレルツールは、大容量のXML文書をパラレル処理するためのツールである。パラレルツールを用いることで、複数台のEsTerra XSSサーバを並行稼働、もしくは複数の処理を非同期実行することができる。パラレルツールはそれ単体で動作するのみならず、ほかのパラレルツールにシリアルに連結することも可能なので、サーバの拡張に対してもハードウェアとソフトウェアの両面に与えるインパクトは極小化できる。

 さらに、パラレルツールの拡張機能として、異種データベース接続ツールも用意されている。異種データベース接続ツールを利用することで、パラレルに処理する対象がEsTerra XSSであるか、リレーショナルデータベースであるかを問わない。並列に稼働する複数のデータベースサーバを、ユーザーはほとんど意識することなく1つのデータベースサーバとして読み込みや書き込みが可能である。

 2003年9月時点で、異種データベース接続ツールは、Oracle8i/9i、DB2、PostgreSQL、SQL Server、HiRDBに対応しているが、今後、さらに対応データベースを拡張していく予定である。

異種データベース接続ツールのシステム構成図

■人名用漢字や古文書などの外字に対応する「外字処理Tool Kit」

 博物館・文化財施設における漢文・古文書、官公署における公式文書などでは、旧字体や異字体など正確な表記を求められるものが少なくない。従来、これらをデータベース化する場合には、あいまいな略字を使用するか、あるいは、実体参照などを利用して文字コードとしてのみ管理するしかなかった。

 しかし、外字処理Tool Kitを利用することで、Unicodeの日本語領域を超える2万文字以上の文字を扱うことができる。もちろん、ただ単にデータをEsTerra XSS上で格納できるというだけではない。クライアントに対するActiveXコントロール(RTF入力コントロール)やJAVAアプレットを利用することで、通常のWebブラウザ上でも外字を参照、入力できるようになる。

外字処理Tool Kit

■業務特化した豊富なソリューションのラインアップ EsTerra Applications

 EsTerra Applicationsでは、EsTerra XSSをバックボーンに業種特化したアプリケーション構築基盤を提供するのがまた興味深い。現在提供されているフレームワークは以下のとおりである。

製品名 概要
Multimedia Management Ware 写真や図面、表計算データのような、いわゆるマルチメディアデータをEsTerra XSS上で管理することを可能とする。外部インデックスオプションの活用によって、検索パフォーマンスのチューニングも可能。SVG/SMILのような標準マルチメディアフォーマットにも完全準拠する
Document Management Ware 帳票をはじめとしたドキュメント管理をつかさどる。バージョン管理(チェックイン/チェックアウト)から更新履歴管理、添付文書管理などの機能を提供する。添付ファイルも含む全文知的検索機能を用いることで、すべてのドキュメントを縦ぐしで検索することが可能である。また、ワークフロー機能も実装しており、起票から承認までのフローをアプリケーションから独立したXML文書として定義できる。電子申請に対応したバージョンもあり
Mobile Ware 携帯電話を対象とした「EsTerra Mobile Ware Cell Phone Edition」とPDAを対象とした「EsTerra Mobile Ware PDA Edition」からなる。Multimedia Management Ware同様、SMIL/SVGにも完全対応し、高度なモバイルシステムの構築を支援する。外部インデックスオプションの活用によって、検索パフォーマンスのチューニングも可能
EsTerra Applicationsシリーズのフレームワーク

 EsTerra Applicationsはまだ2003年前半にリリースされたばかりだが、すでにいくつかのベンダで実運用に入っているという。年内には、バイオや医療、CMSなど業種特化した専門的なアプリケーション基盤が随時追加されるというから、今後の推移にも期待したいところだ。

■豊富に用意された管理・開発ツール

 最後に、EsTerra XSSをバックボーンに置いたアプリケーション開発に際して、絶対に見逃せないのが豊富に提供される周辺ツールの存在である。EsTerraストレージマネージャとXLeafはEsTerra XSSに付属されているツールで、そのほかは有償の関連製品という位置付けではあるが、必要に応じてさまざまなオプションを選択できる自由が与えられたと考えたい。ここでは、その豊富なオプションの中でも特筆に価するEsTerraストレージマネージャ、XLeaf、Xweaver MX、CabineXについて挙げておくことにしよう。

EsTerraストレージマネージャ

 EsTerraストレージマネージャはEsTerraを管理・操作する多機能GUIで、以下の4つの機能に分けられる。

  • RepositoryManager:リポジトリのフォーマット、バックアップ・リストア
  • OwnerManager:ユーザー管理、セッション管理
  • DirectoryViewer:ディレクトリ管理、ドキュメント管理
  • DocumentViewer:ドキュメントエディタ

 中でもデータベースサーバ自体を停止させることなく、バックアップ・リストアを行うことができるノンストップバックアップの機能は魅力的。

XLeaf

 入出力画面や帳票などのフォームシートを作成するためのUI構築ツール。Webフォームからクライアント/サーバ型のフォーム、PDA/携帯電話向けのインターフェイスまでさまざまなUIに対応する。ツールパレット上から部品をドラッグ&ドロップする手順は、Visual Basicなどの開発環境を利用したことがあるユーザーには極めてなじみ深いものではないだろうか。当然、EsTerra XSSとの親和性は高く、フォームとデータとのマッピングも容易である。

 作成されたフォームは、XML形式で記述されたフォームシートファイル(.xlef)として登録される。「.xlef」ファイルは実行時に動的にクライアントに送信されるため、一般的なクライアント/サーバシステムにおいても、パッケージ配布の工数を必要としないのがうれしい。

Xweaver MX

 Xweaver MXは、その名のとおり、Dreamweaver MXの拡張プラグインで、ビジュアルなXSLTスタイルシート作成を支援する。定評あるツール上で、XSLTをあたかもHTMLを記述するかのように定義できるのが特徴。

CabineX

 CabineXは、MS Excel/Word、Acrobat、StarSuiteなどの一般ユーザーが使いなれたオフィスソフトから指定したスキーマを持つXMLを書き出し、EsTerra XSSに格納するツール。特別なマクロを組み込むことなく、ワープロや表計算ソフトを帳票として利用することができるのが特徴。

5/6 Apache Xindice

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

本日月間