命名の謎


「なぜ、Quixote と命名されたのか?」、その謎を探りましょう。

「キホーテ」と聞いて、スペインの作家セルバンテスの 小説「ドン・キホーテ」を思い出された方も多いと思います。 では、この小説と ICOT で開発した Quixote が関係があるのでしょうか?

データベースの歴史を簡単に振り返りながら、その謎に迫ってみます。

1. 関係データベース誕生

データベースの話しは、やはり関係データベースから始めます。

2. 論理の孫(娘!?)、演繹データベース誕生

演繹データベースをご存知ですか?

3. 関係データベース、演繹データベース共に壁にぶつかる!

新しいデータベースの弱点とは?

4. 赤い糸か!?、オブジェクト指向データベース現わる!

オブジェクト指向データベースはご存知ですよね!

5. 演繹データベースとオブジェクト指向データベースの統合

この2つを統合するとどのようなものができるのでしょうか?

6. 愛の結晶!?、 Quixote 誕生

いよいよ Quixote の誕生です!!


1. 関係データベース誕生

1970年 E.F.Codd によって提案された 関係データベース(RDB)から、話を始めましょう。

それまでの階層型データベースやネットワーク型データベースは、データの構造を 知らないとどのように検索を行なってよいかわからないという問題点がありました。 それを解決するために Codd は、表を基本的なデータ構造とし、関係代数と関係 論理にもとづく操作を持つ関係データベースを提案したのでした。この関係論理と 関係代数が、数学的に明確な基盤を初めてデータベースに与え、関係データベース は、活発に研究されるようになります。

その結果、より速く答を得る問合せの最適化と、更新によって不都合が生じない データベースの設計法において、関係データベースは大きな成果をあげることが できました。この成果はデータベース全体の信頼性を上げました。

そして 1980年代に入ると、表形式のデータ構造が事務処理のデータ構造に適して いたこと、マシンの処理能力の向上が関係データベースの処理に追いついたこと、 使い易かったことなどから、関係データベースが普及し事務処理の分野で成功を 収めます。


2. 論理の孫(娘!?)、演繹データベース誕生

関係データベース の元となっている「関係論理」という考え方は、いきなり出てきたの でしょうか?

そうではありません。発端は、1950年代の定理証明における論理と計算機を つなげようという考え方にまで遡れます。この考え方は 関係データベースを 生むきっかけを与えていただけではなく、他方で論理をプログラミング言語 にも使おうという考えを生んでいて、1972年に論理プログラミング言語Prolog が生まれます。

論理という同じものを基礎としていることから、Prolog の誕生は 関係データベース の研究に影響を与えます。それは、関係論理を Prolog が基礎にしている 一階述語論理まで拡張しようとか、 関係データベース のような問合せ言語だけではなくデータベース全体を論理の視点から考え直そう などという、1970 年代半ばの動きです。こうして、1977年頃、 関係データベース と論理プログラミング言語を組み合わせたものとして、 演繹データベース(DDB)が誕生します。

関係データベース から演繹データベースになって大きく変わった点は、データベースがルールを 持てるようになったことと、ルールを使った推論能力を持つようになったこと です。それまでのデータベースは、単なるデータの貯蔵庫と考えられており、 データの検索ができるだけでした。演繹データベースは、 データベースが推論能力も持てることを示し、人間の問題解決を支援するシス テムに深く関わることができることを示しました。

更に、演繹データベースは、その基礎である論理の性質上、問合せに対して 「正しい解以外は求めない」、「正しい解は全て求まる」という二つの性質 (健全性と完全性と呼ばれています) を持つことが分かっていて、データベー スとして重要である信頼性を保証しています。


3. 関係データベース、演繹データベース共に壁にぶつかる!

演繹データベース が誕生した頃、世の中の動きはどうなっていたのでしょう?

関係データベース が考えられた 1970年代とは違って、ちょうどこの頃、1980年頃から、 図形・画像データや複雑なデータ構造を扱うアプリケーションが急速に 増えてきます。そこで、事務処理分野で成功を収めつつあった 関係データベース を使って、それらを扱う試みがいろいろと行なわれます。が、 関係データベース は複雑なデータに対しては使い難い、処理効率が悪いという問題点が明らかにな ります。 演繹データベース に関しても、研究のきっかけが 関係データベース と論理プログラミングの統一であったために、残念ながら、この問題はそのまま 受け継がれています。つまり、 関係データベース演繹データベース 共に、「複雑なデータ構造を扱う応用には、どう対処したらよいのか。」 という壁にぶつかってしまいます。


4. 赤い糸か!?、オブジェクト指向データベース現わる!

1984 年 Copeland と Mayer により、 オブジェクト指向データベース(OODB)の最初の論文が出されます。

オブジェクト指向データベースの元となっているオブジェクト指向プログラミング のルーツは、ソフトウェアの開発、保守を助けるプログラミングのための斬新的 な試みにまで遡ります。それらのうちオブジェクト指向データベースでも重要と なっている考え方を紹介しましょう。

1960 年代半ばに、シミュレーション用のプログラムを書くために考案された Simula-67 において、オブジェクトの概念が導入されました。オブジェクト指向 プログラミングの直観的な魅力は、「オブジェクト」という抽象的なもので世界 を捉えることによって、現実世界を素直に表現できることです。データベースの 観点からこの魅力を具体的に言うと、任意のデータ型とその手続きを許すことに よって、実世界をデータ型に合わせて変換するユーザの手間を省き、計算機上に 表現できる対象を増やしました。しかし、ユーザに手続きを自由に定義させたの で、その結果の正しさはユーザの責任となります。

1970 年代には、人工知能の分野で Frame 理論が作られ、のちに情報の組織化、 コードの共有、再利用に有効であると認められる「継承」の概念が誕生します。 1980年に米国の Xerox社のパロアルト研究所で開発されたプログラミング言語 Smalltalk-80 でオブジェクト指向プログラミングは一躍有名になります。その 後も、FLAVORS による多重継承などという考えが生まれ、オブジェクト指向 プログラミングの基本的概念を形成していきます。

このようにオブジェクト指向プログラミングを構成する概念は、多くの研究の 結果であり、応用に合わせて半ば経験的に形作られました。そのため統一的な 形式が乏しいものになっています。そのような概念を元にしたオブジェクト指向 データベースにも、統一的形式はありません。にもかかわらず、応用に適合し 易いという理由から、1980 年後半には機能が異なる、いろいろな製品が出される 異常事態になります。


5. 演繹データベースとオブジェクト指向データベースの統合

ここで、 演繹データベースオブジェクト指向データベース の相性をみてみましょう。

前者は、一階述語論理を元にしており、形式的基礎が明確であり、データベース として重要な問合せ結果は論理によって保証されていて、既存の 関係データベース との上位互換性も持っています。しかし、述語表現では複雑なデータ構造は扱えず、 実験システムがいくつかあるに留まり、応用に利用可能なシステム、更に商用シス テムはないという状況です。

後者は、応用の対象領域のモデル化が容易であり、ユーザの責任で多くの応用 への適応性を増すことができ、簡単に利用できる多くの(商用)システムが存在しま す。しかし、形式的基礎が不明確で、コンセンサスが十分得られておらず、問合 わせの結果と停止性はユーザの責任であり、基本的には 関係データベース との互換性がありません。

しかし、 演繹データベースオブジェクト指向データベース は、長所と短所が互いに相補的な関係になっていることに気づかれると思います。 そして、この2つを旨く組み合わせることができれば、互いの短所を補い、長所を 生かした強力なデータベースが作れるのではないかと思いつかれたと思います。

実際、 演繹データベース 研究の分野でもそのような動きが興ります。

演繹データベース の欠点が明らかになってくると、それらを克服するために、 その欠点を長所として持つ オブジェクト指向データベース との統合の試みが、 演繹データベース 研究の中で行なわれるようになります。 演繹データベースオブジェクト指向データベース の長所を統合したデータベース、 演繹オブジェクト指向データベース(Deductive Object-Oriented Database: DOOD) という言葉は 1988年頃から使われ始め、 1989年に第1回演繹・オブジェクト指向データベース国際会議が開催されます。


ここまで、簡単にデータベースの歴史を振り返りましたが、

「なぜ、 Quixote と命名されたか?」の謎!? :)

が、お分かりになりましたか? (^^)

ヒントを知りたい!!、あるいは、忘れた方は、 <こちら> を見て下さい。

そうです!!
ICOT で開発した言語 Quixote は、 演繹オブジェクト指向データベース (DOOD) 言語に基礎をおいているので、DON を Deductive Object-oriented Nucleus の 意味とし、Don をもつ小説「ドン・キホーテ (Don Quixote)」から、名前を 取ったのです。

「えっ!? (?_?;; Don に意味があるなら、ドン・ファンでもいいし、ドン・ガバチョ(← 知って いる人は年代が分かる!?) でもいいんじゃないの? (?_?」 と疑問を持たれた方もいるかもしれません。

そこで、次に

「なぜ、ファンでもなければ、ガバチョでもないのか?」の謎!? :)

が浮かぶのですが、それは、 6. 愛の結晶!?、 Quixote 誕生 を御覧下さい。


6. 愛の結晶!?、Quixote 誕生

5. 演繹データベースとオブジェクト指向データベースの統合 」で述べましたが、基礎となっている、 演繹オブジェクト指向データベース という言葉が、1988年頃から使われ始めたばかりという新しい研究にも拘らず、 言語 Quixote の設計は、1990年から始まり、第1版が翌年の1991年、 第2版が1992年にリリースされました。このことから分かるように、 言語 Quixote の設計、実装には、未知の事柄も多く、さまざまな 冒険の連続でもあったわけです。

ところで、小説「ドン・キホーテ」の主人公も、さまざまな冒険をすることを ご存知の方も多いと思います。更に、彼が空想的で、理想主義的であることも。

演繹オブジェクト指向データベース は全く新しい研究であり、その評価もまだ 定まっていなかったため、設計者、実装者自ら、言語 Quixote の設計、 実装におけるさまざまな判断において、「自分達は空想的過ぎるかもしれない。 これは理想に過ぎないかもしれない。」と迷ったこともありました。

しかし、「理想を持つことは悪いことではない、空想もまだ新しい研究だから そう感じるのであって、この言語によって現実化しよう。」と思い、内省的で 決断力のないハムレットと対義されている、理想に向かい、向こう見ずな行動 もする「ドン・キホーテ」のようであって欲しいと願い、" Quixote " と命名することとなったのです。

(注)正確に述べるならば、ICOT では、1988年からワーキンググループとして 「 演繹オブジェクト指向データベース 」の研究が開始され、1989年には Quixote の前身である、 Don Juan(ドン・ファン) が研究されていました。 そうすると、「なぜ、ファンなのか?」の謎 :) が更に浮かぶのですが、 「言語設計者が、ドン・ファンのような"女たらし"!? になりたかったか ら?!」かどうかは残念ながら今となっては分からず、その謎は迷宮入り してしまっています。この Juan と自然言語処理で考えられていた QUINT が統合されて、 Quixote が誕生しました。Juan と QUINT の出会いの きっかけは、当時の淵所長が作られたと聞いています。 Quixote が 生まれるまでには、本当にいろいろな出会いがありました。。。 しみじみ。。。