オルタナティブ・ブログ > むささびの視線 >

鳥のように高いところからの俯瞰はできませんが、ITのことをちょっと違った視線から

AIやってたころに、いまのようなXMLを扱えるデータベースがあればなぁと思うことがある

»

 私がIT業界に入り、最初に関わったのはArtificial Intelligence、略してAI、日本語では人工知能と呼ばれる分野だった。

 とはいえ、人工頭脳だとかロボットだとかそういった高尚な世界ではなく、当時流行っていたエキスパートシステムの開発に携わった。これ、専門家の知識を知識ベースとしてシステムに取り込んで、その知識を活用するルールエンジンを構築して、素人でも専門家と同じような判断ができるよう支援するというもの。じつはこのエキスパートシステム、当時はIT業界でそれなりに流行した。そして、その後しばらくすると、さらにニューラルネットワークによるパターン認識だとか、ファジー理論なんていうものも出てきて、まさにコンピュータが人間と同じような判断ができるようになるのでは、なんてことを言われていたのだ。

 学術的な研究分野としてはどうだったのかよくわからないが、私が関わっていたのはAIをキーワードにビジネスをしようとしていた領域。なので、あくまでも「AIっぽいお金のとれるシステム」の開発をしていたわけだ。主には機器設計の支援システムであるとか、24時間365日動かすプラントのスケジュールシステムであるとか。設計やスケジューリングというのは、さまざまな要素が関係して複雑な判断をして答えが出てくる。多くの場合、専門家がたくさんの要素を加味し、さかんに頭を捻って答えを導き出している。これらは、ちょっとその分野について勉強したくらいの素人がやろうとしても、なかなかうまくいくものではないのだ。ということで、専門家にインタビューして判断基準やら関係する数値基準なんかを集めシステム化し、質問や条件入力すると答えか、もしくは判断のための材料が出てくるなんていうシステムを当時開発していたわけだ。

 この専門家の知識というやつがやっかいで、いわゆるリレーショナルデータベースなんかに入れられるような整理されたものではない。換算表みたいなもでもあればいいほうで、多くの場合は「Aがこうなって、Bがこうなっているときに、Cに関して値を調べDより大きければEを採用するんだよ」みたいな会話をかみ砕いて知識ベースに落とし込んでいくことになる。というわけで、このややこしい知識ベースをシステムを取り込むために、当時から柔軟なオブジェクト指向型のデータ格納やら、それを解釈する専用の仕組みなんていうものがシステムで採用されていたわけだ。

 この考え方自体は間違っていなかったのだろうけれど、当時はサーバーの能力も低く、知識ベースを大量に蓄積してしまうとその処理に時間がかかり、なかなか商用で使えるようなシステムにはできなかった。実現しているものはまあ、エキスパートの知識というよりは、そこそこできる人の知識断片の蓄積程度が精一杯だったろう。

 当然ながら、当時はXMLなんていうものはない。いまであれば、当時苦労していた知識ベースなんていうものも、XMLで表現すれば楽に実装できるのかなぁとしみじみと思うこともある。XMLは、登場してからしばらくはXMLそのものが注目を浴びたけれど、いまはそのブームも沈静化しごく当たり前のものになった感がある。あえてXMLがどうのこうのと言わなくても、システム間の連携でたんたんと利用されているし、最近話題の電子ブックだってXMLを活用することになるがそのことをユーザーなりが意識することはない。

 意識をしなくても、適したところにXMLを使うとその柔軟性の高さ故の便利さを享受できる。この便利さを享受できるのも、サーバーそのものやXMLの処理系が高機能化、高速化したおかげでもあるだろう。とはいえ、XMLが柔軟で表現力豊かだからと言って、リレーショナルデータに取って代わるわけではない。システムの中ではXMLでやるべきことリレーショナルでやるべきことの両方が存在し、それぞれを使い分けることが重要だというのが現状の常識だろう。その結果、多くのリレーショナルデータベースでは、XMLデータを柔軟に扱える機能を持つようにもなっている。

 ところで、先日、DB2に関していろいろと話を聞く機会があった。その際に聞いた話だが、DB2はXMLについてはかなりユニークな構成をとっているとのこと。多くのデータベースがリレーショナルのエンジンの上でXMLを扱える機能を動かしているのに対し、DB2はリレーショナルとXMLの2つの処理エンジンを積んでしまったのだ。まさにこれ、流行のハイブリッドだ。

 データベースというと、どうしても高速性や大容量を扱えること、あるいはコストパフォーマンスなどが話題になることが多いが、XMLをどう扱えるかもポイントとしては興味深いところだ。自分たちが扱う情報の内容が、専門家の知識ベースとまではいかずとも、型にはめられず複雑で柔軟に変化するような場合には、それを無理してリレーショナルに落とし込むのではなく、XMLで表現してそのまま扱えるようにしたほうが便利だし、早くシステム化できるかもしれない。

 いまや、データベース製品は極めて便利なものになっている。たんにデータの入れ物として使うだけではなく、多彩な機能を使いこなせればかなり便利なシステムができるはず。便利なデータベースを使いこなすためにも、どんなときにどんな機能や製品を採用すればいいのかを、今一度じっくりと検討してみるのもいいかもしれない。

Comment(0)