XMLデータベース製品カタログ 2003
〜ネイティブXMLデータベース編〜
2003/9/26
紹介する製品 NeoCore XMS Tamino Sonic XIS EsTerra XSS Apache Xindice |
NeoCore XMS |
■フルオートインデックスで“超”高速を実現、XRAD開発を可能とする
「NeoCore XML Management System(XMS)」は、米NeoCore社が開発を行い、三井物産/三井情報開発が販売代理店となるネイティブXMLデータベースサーバである。国内実績という意味では、2003年4月に国内販売を開始してまだ日は浅いものの、すでに導入ベンダ数15社を数える。急速に普及しつつある製品である。
NeoCore社は、もともとが数学理論を専門とするラボを前身とする歴史的経緯もあり、数学的な演算を前提に置いた検索技術では一日の長がある。NeoCore XMSの特徴とは、この検索技術を最大限に引き出した驚異的なパフォーマンスとスケーラビリティの実現にあるといえよう。
■最大3万倍の高速アクセスを実現するインデックス技術「DPP」
NeoCore XMSは、データ保管時にすべての要素に対してインデックス付けを行う「フルインデックス」方式を採用している。つまり、開発者はデータベースチューニングにおいて、これまで常に悩まされてきたインデックスキーの検討から解放されるというわけだ。NeoCore XMSでは、このインデックス方式はDPP(Digital Pattern Processing)と呼ばれている。
以下にNeoCore XMSのパフォーマンスを裏付けする検索メカニズムについて、その概略を紹介することにしよう。
「ロケーションパス+データ」を64bitの固定長で表現
XMLドキュメント中のノードは、ノードに至るまでの「ロケーションパス(階層構造)」とデータ本体で表現することができる。NeoCore XMSでは、この「ロケーションパス+データ」を独自のアルゴリズムを用いて、64bitの固定長データに変換する(変換された固定長データを「アイコン」と呼んでいる)。
XMLのエレメントごとにアイコンが生成される |
DPP技術ではどのような長さのデータであっても、必ず64bitのアイコンに変換することができる。64bitというと、いかにもすぐに重複が発生するように思われるかもしれないが、ベクトル理論を利用して表現されたアイコンでは、その可能性は限りなく小さい。異なるデータが同一のアイコンに変換される可能性は、実に18×1018分の1なのだ。
生成されたアイコンはそのままインデックスとして、NeoCore XMS上に自動登録される。
パターン検索に要する時間は、1.5メモリ・サイクル
XPath/XQueryによる検索に際しては、指定された条件式が、インデックス作成時とまったく同じアルゴリズムを用いて、アイコンに変換される。つまり、NeoCore XMS内部ではアイコン同士のパターンマッチングを数学的に、かつダイレクトに行うことができるというわけだ。所要時間は平均で1.5メモリ・サイクルであり、しかも、データ量に依存せず一定のパフォーマンスを発揮することができる(理論的には、4E(エクサ)bytes(1018)まで一定のパフォーマンスを実現可能)。インデックス自体はフラットな構造であるので、XMLドキュメント自体のデータ階層にも依存しない。
もちろん、検索条件によっては必ずしも完全一致するデータばかりではない。部分一致検索の場合などには、DPP技術による絞り込みがあらかじめ行われたうえで、通常の検索技術が併用される形となる。
更新処理にも有効なインデックス
インデックスというと、とかく検索処理のためのデータテーブルであると思われがちだが、NeoCore XMSにおいては更新・削除時の(挿入・削除)データ位置特定に際しても、インデックスが利用されているようだ。上述のとおり、インデックスによるパターンマッチングはほとんど無視できる時間であるので、データ容量の増加に際しても、レスポンスタイムを比較的緩やかな上昇カーブに抑えることができる。
■NeoCore XMSを支えるシステム構成
NeoCore XMSは、ほかのネイティブXMLデータベースと比較しても、極めてコアなモジュールからなるコンパクトな構成が特徴といえる。以下にNeoCore XMSを構成する主要な構成を挙げてみた。
NeoCore XMSのシステムイメージ図 |
XMS Repository/DPPエンジン
NeoCore XMSのコアエンジンというべきデータストアと処理エンジンである。前項で詳細はすでに述べているので、割愛する。
Query Manager/Store Manager
データベースの作成・削除からバックアップ処理、データ本体の更新・削除などを行うモジュール。NeoCore XMSでは、標準でコマンドラインベースのNeoXML Utilsが用意されており、これを利用することで一元的にデータベースを管理できる。
また、プラグインを導入することで、XML開発環境「XMLSpy」(開発元:Altova、国内販売元:東芝ITソリューション)からNeoCore XMSにアクセスすることも可能である。
XMSコンソール
HTTPプロトコルを用いたアクセスを管理する。NeoCore XMSではHTTPプロトコルによる通信手段を備えており、WebブラウザやAPI経由のクライアントアプリケーション、先述のXMLSpyなどからアクセスすることができる。XMSコンソールはWebベースの管理ツールで、これを用いることでWebブラウザからデータベースの管理やXMLドキュメントの基本的なオペレーションが可能となる。
以上からも分かるように、NeoCore XMSの構成は極めてシンプルである。NeoCore XMS自体は、ほかの製品に見られるような統合開発環境やリレーショナルデータベースとのマッピング機能、日本語全文検索機能などを提供しない。これら付随的な機能については、サードベンダから提供されているので、すでにメジャーとなっている製品と連携すればよいというのがNeoCore XMSの基本ポリシーだ。同様の理由で、アプリケーションフレームワークも提供していない。アクセスのためのAPIが用意されているのみである。
また、NeoCore XMSはXML SchemaやDTD、RELAX NGなどによるデータ検証にも対応していない(つまり、アプリケーション層で実装する必要がある)。自己構成型データベースであるからスキーマ情報は不要というのがNeoCore XMSの考え方なのである。
これは機能不足ではなく、NeoCore XMSがユーザーに与えた「自由な選択肢」であると筆者は考える。各ベンダからXML関連製品、アプリケーション開発環境が多くリリースされている現在、後発のNeoCore XMSがあえて類似した製品群を投入する価値はあまりないだろう。むしろXMLストレージとしてのコアな機能を軽量な形で提供することで、常にハイパフォーマンスを維持する――NeoCore XMSの姿勢はその点で極めて一貫している。これは現場のユーザーにとって最も必要なソリューションであるかもしれない。
■NeoCore XMSの超高速が可能にするXRAD開発
NeoCore XMSがDPP技術と並んで大々的にアピールしているのが、システム開発の新手法である「XRAD(eXtreme Rapid Application Development)」開発だ。XRADとは、文字どおり「“超”高速のアプリケーション開発」のための手法である。自己構成型データベースの長所を十分に活用することで、データベース開発の負荷を大幅に軽減するというものだ。
従来のシステム開発においては、データベース(スキーマ)設計ができていないがために、開発フェイズに移行できないケースが少なくなかった。また、スキーマ設計の変更が、開発途中(または開発済み)のアプリケーションに対して与えるインパクトは極めて大きい。いわゆるデータベース設計・開発にかかわる作業は、システム開発全体の30〜70%を占めるといわれるから、開発コストを左右する最大の要素といっても過言ではないだろう。
しかし、自己構成型データベースであるNeoCore XMSを利用すれば、事前のスキーマ定義は不要だ。DPP技術の超高速性を活かせば、データ量の拡張に際しても、インデックス・チューニングなどは必要ない。また、データベース上で各要素間の関連性、データマイニングが高速かつ簡単に行えるので、データを分析しつつ、イテレーティヴ(反復的)な開発も可能となる(それは複数のデータベースから抽出した異なるフォーマットのデータについても同様だ)。つまり、XRAD開発を利用すれば、パイロット的にスタートしたシステムをベースとして、実運用システムへと移行するという流れが現実のものとなるのだ(スパイラルアップ)。
もっとも、こうして見ていくと、XRAD開発は、イコールDPP技術の“超”高速性をただいい換えているだけに見えるかもしれない。実際、それはしかりである。しかし、開発の現場に求められているのは複雑な小難しい概念ではない。このシンプルな概念がこれまでの開発パラダイムを大幅にシフトした点にこそ、NeoCore XMSの真価があるといえよう。
2/6 | Tamino |
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」の詳細も紹介する
|
|