ドキュメント管理に強いXML-DB「NeoCore」~特長・アーキテクチャ

XMLはドキュメントのデファクトフォーマットとして広く使われれていますが、RDBで管理することが難しいデータ構造を有しています。また、コンテンツ管理において、メタデータを記述するデータとしては一般的にXMLが用いられますが、大量に発生するXMLデータのハンドリングに「NeoCore」は力を発揮します。
こちらでは、RDBには無い様々な機能も搭載しているXMLデータベース(XML DB)「NeoCore」 のアーキテクチャと超高速検索技術(DPP)など、その特長についてご紹介します。

NeoCoreの特長を詳しく解説!

XML-DB「NeoCore」は、XMLデータを「なんでも・はやく・カンタンに」ハンドリングすることが出来る、まったく新しいタイプのXMLデータベースエンジンです。

スキーマ定義は一切不要、XML形式のデータであれば、すべて柔軟に吸収。フルオートインデックス機能により、すべてのタグに対して自動的にインデックスを作成します。システム開発者の悩みどころであった、インデックス設計を不要にし、システム開発の効率を飛躍的に向上させることができます。

XMLの超高速検索を実現する、DPP(Digitatl Pattern Processing)を搭載。元データを見ることなく、フラットな構造のアイコンをパターンマッチさせる事でデータ量やデータ構造の複雑さに依存しない安定した検索パフォーマンスを実現します。XML形式のデータをスキーマレスで格納、XMLの柔軟性を活かしたデータ管理が可能です。

1. 「なんでも」~XMLデータのスキーマ定義不要

XML-DB「NeoCore」は、XML形式のデータを格納する際、スキーマを定義する必要がありません。格納、更新等の操作の際に入力するXMLについては、妥当性検証(Validationチェック)を行わず、整形式であるかどうかのチェック(Parsing)のみを行います。従って、DTDやXMLSchemaとは関係なく、あらゆるXML形式のデータを格納し、またエレメントの追加や削除を自由に行うことができます。

リレーショナルデータベース(RDB)は、格納するデータ全てのデータについて、厳密なスキーマ定義を必要とするため、仕様変更のたびにスキーマを再定義する必要がありました。これに対して、「NeoCore」を用いたデータベース設計では、ノードや属性をTree型に配置した構造を設計し、パフォーマンスを考慮したTree構造の変更を行います。リレーショナルデータベース(RDB)の場合はインプリメントの前に構造設計が完結している必要がありますが、「NeoCore」の場合は、基礎が決まっていれば、ある程度の変更はアプリケーションで吸収できてしまいます。

これにより、ビジネスサイドからの要求によって発生するスキーマ設計とインデックス再設計にかかるシステムエンジニアコストと時間を大幅に削減する事が可能となり、システム開発の初期の段階でデータ構造を厳密に定義できない場合や、システム運用フェーズでのデータ項目の追加変更の際には、大きなメリットとなります。また、これらの処理では、ACID特性※ を維持したまま、スキーマレスな構造を持つ大量のXMLデータをそのまま管理するため、DBMSとして高い堅牢性を維持したままXMLデータの管理を実現します。

※ACID特性:関連する複数の処理を一つの処理単位にまとめて管理するトランザクション処理に求められる4つの特性。

スキーマ定義不要

2. 「はやく」~XML超高速検索機能

XML-DB「NeoCore」では、全文検索エンジンでは不可能な属性検索を、W3C標準クエリである「Xquery」と独自の特許技術であるDPP(Digital Pattern Processing)技術により、データ量やデータ構造に影響されることなく、超高速検索を実現します。

また、XMLデータのハンドリングにおいて、リレーショナルデータベース(RDB)のテーブル構造にXMLデータをマッピングしたり、XMLデータ型の領域に格納した場合に、著しく検索性能が低下してしまう場合があります。XML-DB「NeoCore」ではDPP技術により、XMLのデータ量やXMLの階層構造の深さに依存しない安定した検索が可能です。

XMLデータを格納する際は、Parsingを通過したXMLデータを、Flattenerと呼ばれるモジュールにより、パスとデータに分解します。DPPは、この分解した1つ1つのパスとデータを、64bitの固定長のデータに変換し、全てのタグに対してユニークな「アイコン」として生成するため、XML-DB「NeoCore」では、データベースに格納されたXMLデータを検索する際に、元データを見ることなく、フラットな構造の「アイコン」をパターンマッチさせる方式により、XMLデータを検索する際のインデックスとして機能し、実データはこの「アイコン」が指し示す場所に格納されます。

XML超高速検索機能

3. 「カンタンに」~フルオートインデックス機能

XML-DB「NeoCore」は、XMLデータをデータベースに格納する際、全てのXMLデータにインデックス処理を自動的に行う「フルオートインデックス機能」や、キーとなるIDを自動付与することにより、開発工数や運用保守コストを抑えることが可能です。

フルオートインデックス機能は、リレーショナルデータベース(RDB)で必要とされるインデックス設計や、インデックス生成作業を不要とします。つまり、開発者はどの項目にインデックスを設定すれば良いかを考える必要はなく、インデックスを上手に使用するような検索方法を考えるだけで済むため、システム開発時の時間とコストを飛躍的に向上する事が可能です。XML-DB「NeoCore」は、格納時や更新時にDPPにより分解されたXMLの構造を、独自の方式でバイナリデータとして種類別に分類して格納します。

「NeoCore」の内部は、下記の複数ファイルで構成・管理されます。

  • タグ部及びデータ部の実体を格納する「辞書ファイル」
  • タグ部及びデータ部のインデックス情報を格納する「インデックスファイル」
  • タグ部及びデータ部の重複インデックス情報を格納する「重複ファイル」
  • 辞書ファイルとインデックスファイルを相互参照する「クロスリファレンス」
  • XMLデータの物理的な構造情報を格納する「マップファイル」
  • データベースファイルのロケーション情報や、格納されている文書数などの管理者情報を格納する「Adminファイル」

フルオートインデックス機能

御相談、ご質問はこちら

サービスご案内資料や、特別資料「マニュアル作成の効率化とコストダウンを実現するポイントとは? 」がダウンロードできます。

最新事例の公開情報や、イベント・セミナー情報をお届けします。

pagetop ボタン
サイバーテックお知らせ画像
©2003 CyberTech corporation ltd. All Rights Reserved.