XMLデータベース再考(最高?)

小川浩氏のネットショッキングで久々に『XMLデータベース』というワードを見て、懐かしくなった。

「XMLデータベースは電気自動車」サイバーテック橋元社長

今でもXMLデータベースを専門に開発&成長を図っている企業があったのだ。

私は、XMLデータベースについては、2001〜2003年ぐらいに最も注目していた。

最も注目していた機能は「各種の非定型の文書をそのまま格納して、統合的に利用できること」だった。

当時私が担当していた業務システムでは、20社ほどの取引先のシステムからバラバラに送られている非定型フォーマットのテキストファイルを、共通化されたRDB(リレーショナル・データベース)に格納する必要があった。

つまり、20種類のマッピング処理を書かなければならなかったのだ。

『これは溜まらない』と、救いを求めてたどり着いたのが”XMLデータベース”だった。

通常、RDB(リレーショナル・データベース)は固定フォーマットのため、事前に決められた形(項目属性、桁数、並び、必須・任意など)に合わせてあげないと、すんなり格納できない仕様になっている。

それに、RDBには、ちょっと仕様を変えると全部作り直しになるという弱点がある。

そういう意味では、四角四面のRDB(表フォーマット)よりも、ツリー状のフォーマットの方がはるかに柔軟性が高い。

確か、インターシステムズ社の『Caché(キャシエ)』と呼ばれるデータベース(ツリー構造のポストRDB)も、何でも入ってしまう柔軟のある高速データベースだったな(出た当時はOracleの200倍早いと言われていた)。

橋元氏は、RDBXMLデータベースの違いや特色を次のように述べている。

RDBは決まったデータを入れて高速検索するには適しています。大量の演算処理をしなければならないようなところには最適です。XMLデータベースはそうではなくて、データ項目が減ったり増えたりするような仕様の開発に向いています。より柔軟なデータの取り扱いが得意なデータベースです。だから基幹システムというよりは現場に近いところで使われます。向いているところが違うといえますね。

そう、まさに私が適用しようとしていたのは、基幹のコア業務ではなく、現場に近いフロントエンドのデータ交換処理なのである。

しかし、RDBメーカーはこれに対して、RDBでもXMLをハンドリングできると反論するかも知れない。

橋元氏は、XMLデータベースの成長障壁として、それを一番危惧しているようだ。

まず、危惧(きぐ)するところをいうと、RDBメーカーがRDBにもXMLデータをためられますよ、とお客さまをミスリードしていることです。本当は向いていないのに。お客さまがそれを信じてXMLデータをRDBにどんどんため込むと結局遅くなって、XMLそのものが遅いとか重いと誤解してしまうことにつながります。それが一番怖いです。


既にRDBで運用しているシステムは多いと思うが、ユーザーとしてもそこらへんを見極める力が必要なんだと思う。既存メーカーへの依存度が高いユーザーほど要注意かも知れない。

橋元氏は、XMLデータベースのブレークスルー・ポイントを以下のように捉えている。

XMLデータベースは電気自動車に近いと思うんです。XMLは電気みたいなものです。ガソリンエンジンにモーターを足したハイブリッドカーがでてきた、でもやっぱりガソリン車には変わりない。電気自動車が普及するには電気ステーションの整備も必要です。次世代のデータフォーマットとしてXMLが根付いてくることでXMLデータベースもブレークしていくと思っています。

そうか、電気自動車が電気ステーションという受け皿がなくて、なかなか普及しないのと同様、XMLという根っこがないと、XMLデータベースも普及しないということか。

逆に言うと、データフォーマットとしてまだまだXMLが根付いていないことを証明しているとも言える。

Web2.0RSSフィードの出現で、インターネットやウェブ上には”XML濃度”は高くなってきたと思われたが、現場はまだまだ「非ウェブ」であり「非XML」なのだろう。

いつまでも「CSV」や「Tab区切り」のテキストで、システム間で疎結合の連携をしている場合じゃないな。

XMLを使って、業務の効率化・簡素化を計り、蜜結合でシステム連携する世界へと導いていかなくては。

つくづく、2008年10月22日(水)に行われた「NeoCoreサミット2008」に参加すべきだったと後悔している。

あっ、それと、2001-2003年当時XMLデータベースって、やたら高かったんだけど、最近はどうなのだろう???

ベースパッケージが数十万で導入できればうれしいんだけどなぁ。