拡大するXML市場をとらえるための技術

XMLデータベースを使ってXMLデータを有効に活用するにはどうすればいいのか。「XMLを扱える」システムから、XMLを活用するシステムの構築へと進化させる方法を考える。

» 2005年08月23日 09時11分 公開
[谷川 耕一,ITmedia]

 XMLは、従来の電子商取引におけるデータ交換だけでなく、その適用範囲幅を広げている。拡大するXML市場に対して、東芝ソリューションのXMLデータベースであるTX1は、企業システムの中核をなすデータベースとして開発された。XMLデータベースを使ってXMLデータを有効に活用するには、どのような要求に対して、どのような方法で対処すればいいのか。単に「XMLを扱える」システムから、XMLを活用するシステムの構築へと進化させる方法を考える。

利用範囲が広がるXML

 システム間のデータ交換がおもな目的と思われていたXMLだが、ここにきてその利用範囲が拡がっている。XMLは、従来電子商取引のデータ交換で利用されることが多かった。この場合は、リレーショナルデータベース(RDB)が得意としている数値や文字列データが中心だ。

 これに対して、XMLの柔軟性が評価され長い文章などのテキストデータを扱う用途がいま拡大している。

 個人情報保護法の全面施行以降、コンピュータ・フォレンジックス(Computer Forensic)の観点からメールのデータを半永久的に保管する要望がある。だからと言って、メールを漫然と保存しているとなかなか目的のメールがみつけられない。専用のメールソフトで読み込んで検索するか、結局は人の目で内容を確認しなければならないだろう。

 だが、メールの構造をXMLに展開してデータベースに格納してあれば、この作業は格段に楽になる。たとえば、XX年YY月からZZ月までのAさん宛てのメールで、サブジェクトに「メールアドレス一覧」という単語を含み、メール本文に「@」を含むものなどといった検索も簡単にできる。

 取り出した結果も、一覧などに自由に表現できる。こうしたXMLの特徴から、医療現場のカルテや新聞記事など、比較的サイズが大きく、長さも定められていないテキストデータを利用している分野で、XMLを標準化として取り込む動きが活発だ。

 東芝ソリューションでは、TX1を中核に、これらの分野のニーズに合わせたソリューションサービスも提供するという。

 さらに、システムに依存しないXMLの柔軟性も、新たなニーズを生み出そうとしている。プラットフォームソリューション事業部商品企画部で参事を務める齋藤稔氏は、「文書データを効率的に処理するニーズももちろん高いが、統合データベースとしての提案も増えている。つまり、コンテンツの一元管理をすることで、社内のデータやノウハウを共有するという用途だ」と話す。

XMLの柔軟性を強調する齋藤氏

 多様なシステムを抱える企業が、XMLを共通言語と捉え、システムを連繋させる統合データベースの役割をXMLデータベースに持たせようとしている。いくつかのベンダーが言うところの、システム間を繋ぐハブ的な役割だ。

XMLデータベースを採用すべきか

 RDBでXMLを扱うには、XMLの構造をテーブルに展開してマッピングする必要がある。一度マッピングしてしまえば、あとはSQLを使ってアクセスできる。カラム間での演算処理や検索速度向上のためのインデックス、トランザクション一貫性の保証、リカバリなどRDBが持つあらゆる機能が適用できるわけだ。数年前からRDBはマルチメディア対応をうたい、画像や映像などのバイナリデータも一括に管理でき、さらにテキストの全文検索機能も付加されている。

 当然、XML機能が付加されているRDBであれば、XMLのタグの情報も検索でき結果をあらたなXMLデータとして取り出すことも容易だ。

 こうなると、XMLのデータはRDBに格納したほうがメリットが高いという見方もできるが、実際にはいくつか問題がある。定型的データであればRDBのほうが効率は高いが、非定型で構造が変化する可能性がある場合はそうはいかない。データ構造が変化するたびに、テーブル構造を変更してXMLをマッピングし直す作業が発生するからだ。

 マッピング作業はツールが用意されていればそれほど手間ではないかもしれないが、テーブル構造が変わればアプリケーションを変更せざる得ない。このアプリケーションの変更に、大きなコストや時間が必要になる。

 「システム開発の際に、ユーザーはRDBで管理すべきかを十分に検討する必要がある。非定型なデータはRDB向きではない。対象となる範囲をきちんと定義することが、成功の秘訣だ」と齋藤氏。たとえば、同じ人事に関するシステムであっても給与関連はリレーショナルに向いているが、目標管理や経歴などはXMLに向いている。

XMLデータベースに求められる性能と機能

 XMLデータを効率よく扱うには、2つの索引情報の活用がカギとなる。タグの「階層構造」を参照するものと、要素のテキストに含まれる「語彙」を参照するものだ。

 TX1ではこの2つの索引を組合わせ、さらにこれらを統計的に分析して適切な検索方法を判断する。

 「従来のXMLデータベースの大きな問題の1つに、データ量が増えると極端に性能が落ちることがあった。TX1では独自の構造自動抽出技術と問合せ最適化技術の組み合わせで、テラバイトクラスのデータであっても高速検索が可能だ」(齋藤氏)

 さらに、従来のXMLデータベースに欠けていたのは、RDBであれば普通の技術である信頼性と可用性の確保だ。これに対してもTX1は、更新中の参照、トランザクションの一貫性の確保、リカバリ機能、オンラインバックアップ、データのインポートおよびエクスポートなどの機能を実装している。

 さらにクラスタソフトウェアとの連携で、可用性を確保したシステム構成も可能だ。高度なXMLデータベースの機能に、RDBの信頼性と可用性を加えることで、エンタープライズ環境で利用できる実用的なソフトウェアに仕上がっているという。

さらなる成長が期待されるXMLデータベース

 XMLの柔軟さにリレーショナルの信頼性を兼ね備えたTX1だが、これで完璧というわけではない。XMLのデータはテキストベースであるため、人が簡単に読んで理解できてしまう。そのため、なんらかの暗号化や強固なアクセスコントロール機能を実装して、コンプライアンスを実現するための仕組みを構築しなくてはならない。

 リレーショナルとの住み分けがシステムの成否を左右することからも、既存システムとの豊富な連携APIも求められてくる。現状はライブラリ化されたツールキットによる開発環境が用意されているが、標準的な統合開発環境もほしいところだ。

 企業が抱える全データのうち、非定型データが8割を占めるとも言われている。そのすべてをデータベースに格納するならば、分散環境などのより大規模なシステム構成への対応も必須になってくる。さらには、より高度な信頼性、可用性も必要だ。

 さらに、大規模なテキスト処理についても拡充していかなくてはならない。TX1では、現状は全文検索技術にNグラムを採用しているが、今後は、東芝のコア技術の1つでもある自然言語処理技術を投入する計画があるとしている。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ