mb_language("uni"); mb_internal_encoding("utf-8"); mb_http_input("auto"); mb_http_output("utf-8"); ?>
最終回として、今回はスキーマレスXMLデータベースとAjaxの関係についてまとめよう。
この2つをもっと分かりやすく表現する言葉は、連載の中で用いた「保守派」だろう。つまり、できるだけ変更を行うことなく、既存の情報資産とこれから発生する新しい情報を扱っていきたいという立場である。
「保守派」か否かという観点で見たとき、スキーマレスXMLデータベースとRDBMSの相違は決定的である。情報資産を抱えたユーザーから見れば、正規化という手順でデータの構造を組み替えねばデータベースに格納できないRDBMSは「保守的」なデータベースとは言い難い。また、新規に発生したデータを格納するために正規化をやり直し、データベースを変換する行為も「保守的」とは言い難い。保守派なら、既に稼働しているデータベースはできるだけ変化させずに使い続けたいと思うものである。一方、たいていのデータをそのままの構造でデータベースに格納できるスキーマレスXMLデータベースは、極めて保守的である。正規化も必要なければ、たいていの場合、事前に予測できない構造のデータも、データベースを変換することなく格納できる。
一方、Ajaxも同様に極めて保守的な技術である。既にユーザーのパソコンにインストールされているWebブラウザをプラットフォームとして動作するプログラムの技術であり、新しい特別なソフトウェアのインストールなどは全く要求されない。クライアント側アプリケーションの使い勝手を向上させる技術はいろいろあるが、ここまで徹底して「あるがままのパソコン」に何も足すことなく実現するのはAjaxだけである。できるだけ、利用者の環境を変えないで動作させたいという「保守的」な要求にジャストミートする。その結果、使うために利用者の要求する知識も少なくて済むし、もちろんコストも低く抑えられる。
このような共通の特徴を持つ2つの技術の相性が悪いはずはない。逆に、この2つを組み合わせないシステムは、どこかで「保守派」が望まない変化を要求されてしまうのである。それゆえに、リーズナブルな選択にはなり得ない。
以上の話は、少しねじれて常識に反するように思えるかもしれない。なぜなら、RDBMSは長い実績を持つが、スキーマレスXMLデータベースは生まれて間もなく実績が少ないため、RDBMSの方が「保守派」に受け入れられやすいように思えるからだ。
だが、このような考え方は本当の意味でユーザー側に立った考え方ではない。つまり、こういうことである。
「データはコンピュータシステムで発生しているんじゃない!現場で発生しているんだ!」
本来問われているのは、現場で発生したデータをいかに上手くコンピュータシステムが扱うかである。それこそが、本来求められている技術であったはずだ。
だが、これまでのコンピュータシステムはあまりにも技術偏重ではなかったか。正規化と称して、技術の都合で平然とデータを加工してしまう。しかも後から判明したデータを格納する機能を追加要求すると、事前に全ての要求を出さないのは悪い発注主であるかのように逆ギレして非難する。本来なら現場で発生したデータが最も正しいはずなのに、データの正しさをコンピュータシステムが決めつけるかのような矛盾が当たり前のようにあったのではないだろうか。
たとえばこの連載で取り上げたWebカタログの事例を見ればそれは明らかだろう。Webカタログはどこにでもある当たり前のシステムだが、事前に予測しがたい構造を持ったデータを迅速に追加し、検索可能にしなければならない。このようなシステムを円滑に運用するためには、新しいデータ構造を受け入れる必要上、正規化のような時間とコストを食う作業を要求する技術は適さない。それにも関わらず、明らかに適していない技術を最善と決めつけて採用し、ニーズを完全に満たせないシステムを作ってきたのがこの業界の典型的な開発スタイルである。
そのように考えると、実は「保守派」と対立するのは「夢想派」である。技術の都合によって作られた正しさを掲げてみても、それは「データが発生する現場」のリアリティに立脚していないという意味で、「夢想」に過ぎないのである。
技術者の言う正しさを「夢想」として横に置き、本当に現場で発生しているデータをあらためて直視してみよう。
そこにある多様で芳醇なデータを、本当にこれまでのシステムは上手く扱えていたのだろうか?
いやそれ以前に、コンピュータシステムで扱うことができなかったデータも多いのではないだろうか?あまりにも不規則なデータを扱うシステムは見積もりを要求しても「できません」であったり、とても払えない金額になったりしていなかっただろうか。
その段階に達する前に、「できるわけがない」と考えて諦めていた......ということもあり得るのではないだろうか?技術への理解があればあるほど、その傾向は強まる。
そういったニーズは、もしかしたら単に「夢想派」技術の手に余っただけで、実は「保守派」技術なら扱えたのではないだろうか?
そのように考えると、スキーマレスXMLデータベースとAjaxの組み合わせは、これまでコンピュータシステム化の対象として考えられていなかった多くの潜在的なニーズを掘り起こし、実現する力を持っているかもしれない。
そのようにして発掘される潜在的なニーズは、これまでのコンピュータシステムによって充足されてきたニーズよりも、もしかしたら遙かに多いかもしれない。
いまあらためて、その可能性を発掘して革新的なシステムを生み出すのは、これを読んでいる読者のあなたである。
終わり
▲このページのTOPへ