XMLデータベース製品カタログ 2003
〜ネイティブXMLデータベース編〜
2003/9/26
紹介する製品 NeoCore XMS Tamino Sonic XIS EsTerra XSS Apache Xindice |
Apache Xindice |
■Apache Software Foundationから提供されるフリーのネイティブXMLサーバ
「Apache Xindice」は、もともとは「dbXML Core」という名前で開発されていたJavaベースのオープンソースXMLデータベースで、2001年12月にApacheソフトウェア財団に寄贈され、現在の名称に変更された。「Xindice」というスペリングは非常に読みにくいが、イタリア語風に「ジンディーチェ」と読むのだそうだ(サイトには「読み方は間違えても構わない。ただ、スペリングだけは間違えないで」と記述されているが、スペリングもなかなかに覚えにくい)。
その後、XindiceはApacheソフトウェア財団のプロジェクト「Apache XML Project」で日々開発が続けられている。XML Projectではさまざまなサブプロジェクトが展開されているので、特にJava開発者の方にとってはなじみ深いプロダクツも多いはずである。有名なXMLパーサXercesやXSLT変換エンジンXalan、Webサービス開発キットAxisなどは、いずれもこのXML Projectで開発されている(余談であるが、Xindiceといい、Xerces、Xalanといい、XML関係のプロダクツには読み方に悩むものが多いのはなぜだろうか?)。
■フリーで使えるネイティブXMLサーバ
Xindiceの最たる特徴を挙げるとしたら、やはり無料であることは看過できないだろう。Taminoをはじめとした商用製品には機能面で見劣りがするが、とにかくネイティブXMLサーバを実体験してみたいという方には最適なソリューションである。
もちろん、Xindiceのスペックが実運用には堪えないというわけではない。事実、Java WSDP(Web Services Developer Pack)においてUDDIサービスを提供するJava WSDP Registry Serverの基本データベースとして、Xindiceは採用されている。
現在のバージョンが1.0(2003年9月現在)というのも考慮すべきであろう。2001年12月にXML Projectに寄贈されてから2年近い時間が経過してしまったが、幾度にもわたるバージョンアップを繰り返してきた他製品に比べ、Xindiceはまだまだ進化の端緒に立ったばかり。今後の進展を期待したい。
■Xindiceの構成と特徴
冒頭で述べたように、Xindiceの構成は極めてコアなものに限られ、またシンプルである。以下ではXindiceの構成を含め、その特性を簡単に説明しておこう。
コレクションとドキュメント
ファイルシステムにおけるディレクトリとファイルに該当するのが、Xindiceにおいてはコレクションとドキュメントという概念である。Xindiceのルートコレクション(dbコレクション)に対して、必要に応じて任意のコレクションを追加することができる。コレクションは、ファイルシステムにおけるディレクトリ同様、階層構造を構成することも可能である。
Xindiceはコレクションの単位で検索処理を行うため、同一のコレクション内に複数用途(フォーマット)を持ったドキュメントを格納することは好ましくない(パフォーマンスの劣化を招く)。コレクションの構成をある程度設計時に吟味しなければならないのも、Xindiceの制約の1つといえるかもしれない。
インデックスはマニュアル作成
NeoCore XMSをはじめとした自己構成型データベースと異なり、Xindiceはコマンドラインツール(インデックス管理コマンド)から自分自身でインデックスを生成する必要がある。インデックスは個別ドキュメント配下の要素・属性単位に定義することが可能である。
XML SchemaやDTDには対応しない
NeoCore XMSと同様、XML SchemaやDTDへの対応はない。登録・更新データの妥当性を検証するロジックはすべてアプリケーション層に登録しなければならない。
セキュリティ関係の機能を持たない
Xindiceはユーザーやユーザーグループの概念を持たない。従って、クライアントアプリケーションからのアクセスを制限するためには、アプリケーションレベルの認証制御を定義することはできない。ネットワークレベルのフィルタリングを別に行う必要がある。
Command Line Management Tools
Xindiceの起動/終了からコレクション・ドキュメントの生成、インポート/エクスポート、インデックスの定義、XPath検索など、一連の機能を提供するコマンドラインツール。Xindiceへのアクセスはこのコマンドラインツールを用いるか、あるいは、Java XML:DB APIを介することによって可能となる。
モジュールベースのアーキテクチャ
ここまで、もっぱらXindiceの機能不足な点ばかりをアピールしてきてしまったが、だからといって必ずしも「Xindiceは使えない」ということではない。Xindiceサーバ自体がいくつものモジュールベースの集合として構成されている。つまり、新たに必要なコンポーネントを追加したり、不要なコンポーネントを削除したりする場合にも容易に行える。
最初から固定的なオプションにとらわれない分、既存の使い慣れたツールはそのままにデータストレージ部分にXindiceを適用するというような使い方も可能であろう。
なお、Xindiceに関するより技術的な詳細については、別稿「Xindice:無料で使えるXMLデータベース」でも紹介している。コマンドラインツールの使い方やサーブレットアプリケーションなどからのアクセス方法については、こちらを参照してほしい。
■Xindiceの今後
現在、CVSサーバ上で管理されているXindiceの次期開発バージョンは、1.0の純粋な機能改良版というわけではなさそうだ。最後に、Xindiceの次期バージョンで予定されている主な変更点について挙げておくことにしよう。
|
||||||||||
Xindiceの今後の開発予定 |
6/6 |
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度を探る
- QAフレームワーク:仕様ガイドラインが勧告に昇格 (2005/10/21)
データベースの急速なXML対応に後押しされてか、9月に入って「XQuery」や「XPath」に関係したドラフトが一気に11本も更新された - XML勧告を記述するXMLspecとは何か (2005/10/12)
「XML 1.0勧告」はXMLspec DTDで記述され、XSLTによって生成されている。これはXMLが本当に役立っている具体的な証である - 文字符号化方式にまつわるジレンマ (2005/9/13)
文字符号化方式(UTF-8、シフトJISなど)を自動検出するには、ニワトリと卵の関係にあるジレンマを解消する仕組みが必要となる - XMLキー管理仕様(XKMS 2.0)が勧告に昇格 (2005/8/16)
セキュリティ関連のXML仕様に進展あり。また、日本発の新しいXMLソフトウェアアーキテクチャ「xfy technology」の詳細も紹介する
|
|