TOPシステムトレンド> XMLデータベースの分類
ニーズとXMLDB
隠されたニーズを引き出すXMLデータベース

第2回:その要求と分類
著者:ピーデー  川俣 晶   2006/2/7
前のページ  1  2  3   4  次のページ
XMLデータベースの分類

   「XMLデータベースさえ使えばXMLの弱点をカバーすることができ、我が社に飛び交う特殊な書式の文書も上手く電子化できるのか」と思うのはまだ待っていただきたい。

   実は、XMLデータベースと呼ばれるソフトウェアは多数存在するが、それらに共通するのは「データ量が増えてもXMLデータを高速に処理できる」ということだけなのである。それを実現する方法も1つではなく、実現方法によって受ける制約も1つではない。加えて、どの程度の量までデータを扱うことができるか、その水準もまた様々である。

   つまり、ただ単にXMLデータベースを導入すれば必ず上手くいくものではない。千差万別のXMLデータベースの個々の特徴を理解し、ニーズにあったソフトウェアを導入する必要があるのだ。

   それでは、XMLデータベースの分類についていくつか紹介しよう。


世代による分類

   公式の分類ではないが、便宜上、第1世代、第2世代という分け方がある。

   実は、1998年にW3CがXMLを勧告してからさほど時間を置かずにXMLデータベースが誕生している。

   この時代、まだXMLとはエキサイティングな最新技術であり、XMLという3文字さえ冠しておけば注目を集められた。そのような時代に生まれてきたXMLデータベースとは、XML形式のデータを格納するためのデータベースという位置づけであり、単に格納できるというだけで存在意義を認められていた。これが便宜上第1世代と呼ばれるXMLデータベースである。

   例えば、Xcelon(Sonic XIS)、Xindice、Yggdrasill、Taminoなどが第1世代のXMLデータベースとされる。

   それに対して、2005年から徐々に日本でもはじまるXMLデータベースのブームで注目されているソフトウェアが、便宜上第2世代のXMLデータベースと呼ばれている。これらのソフトウェアは、XMLブームの熱狂が去った後に生まれてきたものであり、単にXMLデータを格納できるというだけでは許されず、それが本当に役立つかを判断する厳しいチェックを抜けてきたものである。つまり、信頼性や性能などにも高いハードルが要求されているということである。

   例えば、NeoCoreXMS、TX1、Shunsakuなどが第2世代のXMLデータベースと呼ばれている。

世代による分類
図1:世代による分類

   XMLデータベースの第1世代と第2世代の差は、それが生まれた目的の相違として捉えるとわかりやすいかもしれない。つまり、第1世代はXMLデータを格納することが目的であったが、第2世代は大量のデータを柔軟に扱うために、XMLという技術を取り込んだデータベースだということである。そして第1世代に主役であったXMLは、第2世代の頃には脇役に引っ込んでいて、代わりに主役にでてきたのは「大量のデータを柔軟に扱いたい」というユーザニーズである。

   ゆえに、第1世代は技術主導で、第2世代はニーズ主導という分類もできるが、実は技術的に見ても第2世代の方が遙かに高度である。それだけの技術力を用いなければ、ユーザニーズは満たせないということである。

   では、それほど困難なユーザニーズとは何か。

   信頼性や可用性などの要求もあるものの、最大の要求は「ずば抜けて大きなデータを素早く扱う能力」である。

   実はデータ量に対するXMLデータベースへの要求は大変にレベルが高い。例えば、RDBで扱うのと同程度の量のデータを、遜色ない速度で処理することが要求されるのはよくあることである。さらにナレッジマネジメントのような用途が想定される場合、既存のRDBなどのデータベースを集めた大データベースを作成する関係上、RDBよりも多くのデータを素早く処理する能力が要求されることもある。


スキーマによる分類

   XMLでは、スキーマというデータを定義する文書が使われる。スキーマはDTD、W3C XML Schema、Relax NGなどのスキーマ言語で記述され、XMLデータがあらかじめ決められたルールに従っているかを検査するために使用できる。

   例えば、「名前」要素(要素はXMLで情報を記録する単位)には、「姓」要素と「名」要素が必須であるとスキーマで規定した場合、「姓」要素はあるのに「名」要素が欠けている文書は誤りであると報告することができる。

   とはいえ、XMLにおいてスキーマは必須ではなく、スキーマのないデータを扱うこともできる。これがXMLの持つ一種の柔軟性である。

   さてスキーマは文書のチェックだけでなく、XMLデータベースの構造を定義したり、処理速度を向上するために使用することができる。

   実際にXMLデータベースは、スキーマへの対応で以下の3種類に分類することができる。

スキーマは必須
データベースを作成する際、スキーマを指定する必要がある。また、スキーマに合致しないXMLデータは格納することができない。つまりXMLではスキーマのないデータも認められているが、これを格納することはできないという制約を持つ。
スキーマがあれば性能が向上する
スキーマを指定せずにデータベースを作成することができる。しかし、スキーマを指定することで、データベースの検索などの性能を向上させることができる。
スキーマ不要(スキーマレス)
スキーマを指定することは一切不要。スキーマを指定せずとも高性能を発揮できる。最も制約が少なく、あらゆるXMLデータを差別なく扱える。

表1:スキーマへの対応の種類

前のページ  1  2  3   4  次のページ


株式会社ピーデー 川俣 晶
著者プロフィール
株式会社ピーデー  川俣 晶
株式会社ピーデー代表取締役、日本XMLユーザーグループ代表、Microsoft Most Valuable Professional(MVP)、Visual Developer - Visual Basic。マイクロソフト株式会社にてWindows 3.0の日本語化などの作業を行った後、技術解説家に。Java、Linuxなどにもいち早く着目して活用。現在はC#で開発を行い、現在の注目技術はAjaxとXMLデータベース。


INDEX
第2回:その要求と分類
  ビジネス展開と対応していなかったニーズは表裏一体
  幅広く普及するXML
XMLデータベースの分類
  ネイティブであるか否かによる分類