データベースの時代

データベースが企業の基幹システムに利用されるようになって久しい。しかし僕はもっともっとデータベースが多く利用される時代が来ると思っている。
Keywords: [ RDB, BeOS, Newton, Jini ]

今後のコンピュータ技術で最も重要なものは通信とデータベースになるだろう考えて、僕は「通信工学」と「データベース概論」を履修科目に加えた。もう今から12年以上前、僕が大学三回生になった 1986 年ごろのことだ。

そう考えた主たる理由はダウンサイジングとして後に知られることになった汎用機離れである。この波によって、当時全盛だった汎用機の機能はいずれ多くが事務マシンやワープロ、パソコン(当時マイコンと呼んだ)で果たされるようになるだろうと考えられた。エンジニアリングワークステーションという単語がまだ流行る前だった。
僕はプロの計算機屋になるつもりだったから、将来計算センターに残るものは何だろうと考えたが、それはデータベースと通信の機能だけと思えた。もはやセンターに集中マシンは不要になるが、データと通信だけは集中拠点を必要とするだろうというわけだ。この判断は学生の直観によるもので大した根拠があったわけではなかったが、なぜか的中した。

周知の通り、コンピュータによる通信は思いもよらないところから爆発した。個人的にはJunetのUUCP接続に始まったが、同時に草の根パソコン通信も流行していた。少し予想とは違うスタイルだが通信はやはりエンドユーザではなくプロのエンジニアの手元に残ったのだ。そして僕は学生の時にJunetの運用に関わったせいで、そのままインターネットに張りついて今に至っている。
また、データベースが実用になって企業システムの根幹をなすようになって久しい。今ではインターネット上のサーチエンジンなど、一般人が直接利用する形でも良く使われるようになった。データベースもまた、プロの手元に残ったのだ。

しかし僕の予想は更に進んで、データベースはもっともっと使われるようになると今では考えている。今がネットの時代であるのと同じように、もうすぐデータベースの時代が来るのだ。それこそ一つの計算機の内部処理をはじめとして、広域のアプリケーションの枠組内でもデータベースが採り入れられるだろうと考えている。

まずミクロな適用例を考えてみたい。例えばファイルシステムはデータベースになるべきだ。その意味で初期のBeOSは正当なチャレンジをしていたと僕は思う。そこにはまずクラッシュリカバリ、処理の巻き戻し、きめ細かなアクセス権設定などが期待できる。データの入出力時に、更新時のロックを含めた一貫性保持の処理をプログラマが考えずに済む。また、ファイル検索は現在の当てもののようなファイル名とワイルドカードのマッチングではなく、Queryに基づく操作になるだろう。ファイルシステムにはファイル属性、サイズ、更新日時をはじめ、コメント、使ったアプリケーション、ファイルのリビジョンなどの多様な情報をデータベースの項として含めることが出来る。これらは全て検索Queryをはじめとした二次加工処理の手がかりとなる。
オブジェクト指向データベースのアプローチを採って、データに例えば Open というメソッドを組み込めるようになれば、どれだけ便利なことが起きるだろう。拡張子でアプリケーションを決めるなんてとんでもない。Macintoshのクリエータとタイプによる識別は悪くないが、そこにはインテリジェンス(ここでは知的な振舞いをする手続き)がない。例えばMac方式では、量が大きければこのアプリケーション、小さければこちらというような処理はできない。

このことについてはまだ考えを尽くしていないので大したことは書けないが、その未来は非常に明るいと信じている。
(余り知られていないがNewtonはファイルシステムを持たず、全てリポジトリというある種のDBMSを通してデータを格納していた。これも未完成で放棄されてしまった。残念だ。)

少し視点をアプリケーションに移そう。例えば家庭内での全ての機器がネットワークで接続される時が来ることはほぼ自明だが、そこでは機器の状態などをすべてデータベース的なもので管理するようになるだろう。ユーザの需要を満たすには機器の機能をどう組み合わせれば実現できるのか、機械に問えるようになるのだ。機器は家庭内のネットにPlug In した時に始めて機能する。リモコンをカゴに入れて持ち運ぶのはナンセンスだ。(この光景については『全ての機器をネットに』と題してまた書く。)
統一的なインタフェイスで各機器を電子的に見て操作できるようになる構図はTRONも少し見せていた。僕はこの種のデータベースにはオブジェクト指向データベースしかないと考えていて、イメージ的にはクラスブラウザを見るように機器を扱いたい。今、Sunが提案しているJiniもかなり似ているが、Jiniがオブジェクト指向のアプローチをとっているようには見えなかった。僕の勘違いである事を願おう。いつかJiniについてはもっと調べてみたい。

家にいても、そして街に出てもデータベースはついて回る。自分の情報をデータベースに持ち、店のデータベースと対照しながら買うべきものを見つけることが出来るだろう。この時両者間では激しくQueryが飛び交うことになる。自動販売機で電子マネーを使って支払えば、家計簿ソフトがその情報を登録するだろう。バス停で自分の目的地を与えて経路を教えてもらうときにも、データとQueryはあちこちを飛び回るだろう。

過去に僕が予想したデータベースは、データベースシステム単体で閉じたデータの再利用しか行なえなかった。しかしデータベースが果たすべきデータの蓄積と再利用は、むしろデータベースシステム単体の枠を越えたところにある。ネットがそれを実社会で可能にしたという見方もあるが、これは一つのパラダイムチェンジだと考えるべきだ。ネットの時代(通信の時代)は、インターネットという全く従来的ではない通信サービスが実現したのと同じように、データベースの時代は、全く従来的でないスタイルで現れるのだ。

最後に大学で履修した二つの科目のことを書いておきたい。「通信工学」では、非常にアナログな話を机の上でやった。無線の免許を持たないロジック一辺倒の電子工作屋だった僕に、この話はかなり重かった。「データベース概論」の方は、先生には申し訳ないが古典的なRDBのスキーマの話などでこれも面白くなかった。後で研究室の先生に教えてもらった純粋に論理的なRDBのことなどの方がむしろためになった。つまりいずれも余り身にならなかったわけで、残念だ。それでも僕の予想が揺らがなかったというのが今更ながら面白い。



Yutaka Yasuda

1999.01.05