TOP
>
サーバ構築・運用
> XMLデータベースに対してのエンジニアの声
作って学ぶXMLデータベースNeoCore XMS実践
第1回:XMLデータベースを使ったシステムを企画する
著者:
ウルシステムズ 林 浩一
2006/3/10
1
2
3
次のページ
XMLデータベースに対してのエンジニアの声
これはある普通の開発プロジェクトの打ち上げ宴会中の1コマです。
「XMLデータベースがまた流行ってきたけど使えるのかねぇ」
「そうそう、第2世代とかいうらしいけど、なんだかよくわからん」
「どっかに書いてあったけど、昔に比べてずっと速くて柔軟なんだって」
「それってこれまでは遅すぎて使えなかったってだけじゃないの?」
「そもそもわからないのが、なんでわざわざXMLなんかをそのままデータベースに格納しなきゃいけないのかっていうことなんだよな」
「そうだよな。データを格納して検索するなら、別におれはオラクルで不自由感じないね」
「実際にどんな構成でシステムを作るのかっていうところもわからないし」
「まったく。今どきデータベース直結のクライアントサーバで作るわけじゃないんだから、エンジンが柔軟とかいっても、そんなのビジネスロジック層が吸収するだろ、ふつう」
最前線のシステム開発の現場にいるエンジニアの皆さんの中には、こういった意見に近い感覚を持っている人が結構いらっしゃるのではないでしょうか。インターネットで検索すれば、XMLデータベース(以降、XMLDB)がどのような特徴を持っていて、第2世代と呼ばれる最近の製品で性能が実用レベルに達したということを説明している解説記事がいくつも見つかることでしょう。
また、NeoCore XMSのようなネイティブXMLデータベースと呼ばれる製品が注目されているだけでなく、OracleやDB2といったメジャーなリレーショナルデータベース(以降、RDB)がXMLをネイティブに扱う機能を強化しているということもおわかりになるでしょう。
しかし、それを使わなければいけない必然性のある場面や、現実のシステム開発のイメージがいま1つピンとこないというのが正直な感想ではないでしょうか。
本連載ではそうした疑問に答えるために、どのようなシステムにXMLデータベースを使うのが効果的で、実際にどんなシステムの構成になるのかを解説します。NeoCore XMLを使い、具体的なシステムの企画からはじめ、それを実現するところまでをシンプルな例を題材にすることで、現場のエンジニアに納得できる説明をしてみたいと思います。
XMLDBはどのようなシステムに適しているのか
まず、XMLDBがどのようなシステムに適しているかの説明をします。
XMLDBでは半定型文書を扱う
具体的なシステムの企画をする前に、XMLDBを有効活用するシステムは一般的にはどのようなものかを整理しておきましょう。
XMLDBとRDBは基本とするアーキテクチャ、つまり仕組みが違っています。当然それぞれの仕組みにあった使い方をするのが1番よいのですが、ただ「XMLDBは柔軟です」といわれてもそれで何に使えるのか見当がつきません。
いつも使っているRDBであれば仕組みまで考えなくても、扱えるデータを想像できますが、使ったこともないXMLDBの仕組みを考えて扱うデータを想像するのはかなり難しい話です。ただ、逆にこう考えることができます。
XMLDBが有効活用できるデータは、これまでデータベースに入れる気もしなかった種類のデータではないかと
いうことです。
そうしたデータの中でもっとも重要なのが文書を表現するデータです。例えば、ワープロで書いた報告書や仕様書、プレゼン資料、スプレッドシートの表、Webページ、そしてそれらの素材になるようなコンテンツ群です。
これらは全体の構成から細かい内容まで、作成者が自分の好きなように変更したり追加したりできる非定型のデータです。これに対して、RDBで使われるのはユーザが好き勝手に構造を変更してはいけない定型データだという点であり、ここが大きく違います。
非定型データを扱うならGoogleデスクトップのような検索エンジンでいいじゃないかと思われた方もいらっしゃるでしょうが、まさにその通りです。完全に自由な非定型な文書もまた違うのです。XMLDBを有効利用できるデータとは、ユーザによる自由な構造の修正も可能だけれど、部分的には構造が決まっている「半定型」の文書なのです。
図1:XMLDBには半定型データが適している
1
2
3
次のページ
著者プロフィール
ウルシステムズ株式会社
林 浩一
アジャイル開発手法やXML技術を駆使して、ビジネスとITのギャップを埋めるITコンサルティングを行う部門を率いるディレクター。お客様のビジネスを本当に支援できる先端技術の活用を目指して、理論と実践の両面からアプローチしている。
INDEX
第1回:XMLデータベースを使ったシステムを企画する
XMLデータベースに対してのエンジニアの声
定型文書 vs 半定型文書
リアルタイムの営業情報共有