このテキストは、『Funding a Revolution: Government Support for Computing Research』(1999) の第6章「The Rise of Relational Databases」の要約です。章題のとおり、リレーショナル・データベース黎明の歴史を概観する内容となっていますが、本のサブタイトル『コンピュータに対する政府の援助』が示すように、政府とデータベース業界の関係が中心です。もっともかなりの程度、私見も交えているので、正確な要約にはなっていません。その点はお含みおきください。
一般に、私たち日本人は、「政府とコンピュータ業界の関係」という言葉を聞くと「産業政策」的な大規模国家プロジェクトを想像しがちです。そして周知のとおり、この種のプロジェクトは、うまくいった試しがありません。第五世代コンピュータやΣプロジェクトなど大失敗を重ねながら、懲りずにまた汎用京速計算機や情報大航海プロジェクトなどが現在も進行中です。残念ながら、きっとまた税金の無駄遣いに終わるでしょう。
他方、アメリカのコンピュータ産業における政府の援助というのは、日本のそれとは大分性格が違います。どちらかというと、主導はあくまで民間で、政府機関が気に入ったプロジェクトにパトロンとして資金を出す、というタイプです。だから、政府といっても一枚岩ではなく、ある機関は援助を断っても別のところに持ち込むと面白がって資金を出してくれる、ということもあります。そしてこの民間フリーハンド体制が、変化の激しいコンピュータ業界においては最もイノベーションの効率が優れいている、ということが、本書の示すところです。
以前私は、リレーショナル・データベースの歴史ということで、主にコッドの関係モデルの発明にフォーカスしたテキストを書きましたが、今回はその後の「産業」としてのリレーショナル・データベースの発展を、主に追いかけます。
目次 |
はじめに不況ありき
アメリカ政府には、19世紀の昔からずっと、国民の情報を国家レベルの規模で収集・整理し、統計レポートを作成したいという願望がありました。国勢調査局に勤めていた統計学者ハーマン・ホレリスは、国勢調査の結果を手作業で(!)集計するという気の遠くなる単純作業に従事し、「これは10年かかっても終わらんぞ」と危機感を募らせます。MIT 出身の彼は、これを自動化すれば大きな労力を節約できると考え、そのアイデアを実行に移します。1890 年、彼は世界初のパンチカード・システムを発明し、統計作業を大幅に効率化することに成功しました。これが世界最初のコンピューティング・データベースの誕生した瞬間です。ホレリスは、この分野がビジネスになることに気付き、会社を設立しました。会社は合併を繰り返して順調に発展し、1911年、社名を変えます。International Business Machines ―― 今の IBM です。IBM 社はデータベースの歴史において要所要所で重要な役割を果たしますが、その草創においてもやはり生みの親だったのです。
アメリカ政府は、このパンチカード方式の効率のよさを気に入って、新しい技術をどんどん取り入れていきます。特にデータベースの重要性が認識されるのが、大恐慌まっただなかの 1935 年でした。有名なルーズヴェルト大統領によるニューディール政策の一環として社会保障政策が強化され、2600 万人に及ぶ労働者の記録を継続的に保存する必要が生じたのです。この「世界最大の記録業務」には、当然 IBM も一枚噛んでいて、同社はこの事業のために特別なマシンを開発しています。この頃はまだハードウェアとソフトウェアの分離という概念はなく、ある業務に特化した「専用装置(アプライアンス)」を毎回作る方式でした。
その後もコンピュータは、主にペンタゴンなど軍事機関が積極的に導入していきます。1960 年代前半には、コンピュータ内に保存された情報という意味の「データベース」という概念も徐々に成立し、かつ特定のハードウェアから切り離されて操作されるようになります(ハードウェアとソフトウェアの分離)。データベース・アプリケーションも、当初は軍事目的で使われていましたが、すぐに民間のユーザもこの概念の有用性を受け入れ、広く浸透していきます。
バックマンとIDS
リレーショナル・データベースの誕生を待つまでの間、一人の重要な人物と彼の開発したデータベースについて語らねばなりません。ジェネラル・エレクトリック(GE)のエンジニア、チャールズ・バックマンと、階層型のデータベース IDS(Integrated Data Store)です。スキーマやログ、主キーにトランザクションといった概念を実装したこの製品は、それまでのようにただのデータの集積ではなく、データベース管理システム(DBMS)と呼ぶに値する最初のシステムでした。後のデータベースは、こうした重要な機能を全て IDS から受け継いでいます。現在の全てのデータベースの共通のお祖父さんにあたるようなシステムです。
そしてもちろん、IBM も早速、この優れたデータベースの技術を吸収し、IMSというデータベースを生み出します(これも、アポロ計画という政府プロジェクトのために作られたものでした)。IMS は、「IBM の歴史上最も利益をあげた」と言われるほどのヒット商品で、かつ、今でもバリバリの現役です。IBM は 2008 年に IMS の最新版の開発を行うことを明言しています。階層型というと、もう時代遅れのモデルと見なされがちですが、処理速度や可用性などの点では、関係モデルを凌駕するとも言われ、性能面でも決して劣るものではありません。むしろ本当のハイエンドでは、リレーショナル・データベースが太刀打ちできないほどのパフォーマンスを発揮します。
その優れたシステムが、なぜリレーショナル・データベースに主流の座を明渡すことになったのか、そして IBM はなぜリレーショナル・データベース市場へうまく適応できなかったのか(関係モデルを創出したのは IBM の社員だったのに)、というのは、データベースの歴史上、最も大きな謎です。以下、この二つの謎を解き明かしていきましょう。
革命未満
順調に発展していたデータベース界に大きな異変が起きたのは、1968 年のことでした。最初それは、誰もその後の大変化を予想できないような、ごくささやかな形であらわれました。
きっかけは、IBM の社内報に掲載された、一本の数学的な論文でした。「大容量データバンクのための関係モデル」という素っ気無いタイトルのその論文は、特に社内で注目を集めることはありませんでした。著者は E.F.コッドという、まだ 40 代半ばの少壮のエンジニア。期待した反応が得られなかったことに失望した彼は、仕方なく翌年、今度は社外の学術雑誌に少し書き換えた版を投稿します。そしてこれが、革命の狼煙となるのです。
―― コッドは、もともとイギリス生まれで、オックスフォード大学で数学と化学を修めた学者肌の人物です。第二次大戦中は戦闘機のパイロットもしていたという変わった経歴の持ち主で、アメリカで IBM に就職するのは 1948 年のことです。硬骨漢なところがあり、アメリカにマッカーシーによる赤狩りの嵐が吹き荒れていたときには、悪しき風潮に嫌気がさして 10 年間カナダのオタワに住んでいたりしました。つまり彼は、当時のアメリカにおいてはかなり変わった文化的バックボーンを背負った「異人」でした。
当時の IBM 社内およびその顧客の中で、IMS に不満を持っていた人間というのは、ほとんどいなかったでしょう。高度に完成されたシステムで、ハイエンド市場の要求にも応える性能を備えていた。しかも売上も好調で、技術者も経営者も、ことさら他の設計思想に基づく製品にチャレンジしようという意欲は持っていませんでした。データベースはもう「進歩を止めた分野」だと思われていた。関係モデルが階層モデルに勝るポイントは、二次元表というユーザにとって非常に自然で分かりやすいデータ構造と、検索のためにプログラミングを必要としないナビゲーション・システムにあります[1]。平たく言うとユーザーフレンドリーなところがウリです。しかしこの利点は当時、全く評価されませんでした。バックマンも、関係モデルに対して厳しい批判を加え、コッドとしばしば激しい論争を繰り広げています。
私たちは、リレーショナル・データベースが主流となった現在から振り返るため、この当時の IBM の反応の鈍さが奇異に見えます。でもそれこそ後知恵であって、当時の彼らの立場からすれば、その判断は十分に合理的で根拠のあるものです。IMS のように十分に大きな市場を持っている製品は、それを継続的に性能向上させることで、安定的に収益を得られます。これは大企業にとってはローリスク・ハイリターンな美味しい商売です。一方、ぽっとでの関係モデルには、まだ製品も市場もありません。当時 IBM が相手にしていたハイエンド市場の顧客には、最初期のリレーショナル・データベースを売ることはできない(おもちゃ同然の製品をいきなりハイエンド市場に投入するのは自殺行為です)。だから、IBM が 海の物とも山の物とも知れない RDB を胡散臭い目で見て、IMS の既得権を守ることに固執したことは、決して不合理な判断ではないのです。
これは、クリステンセンの言うイノベーションのジレンマの好例です。リレーショナル・データベースという破壊的技術が階層型データベースという持続的技術に打ち勝つためには、その製品の性能が既存の基準に照らして一定の水準まで向上する必要があります。そのとき初めて、市場の価値基準そのものに大転換が起こり、「ユーザにとっての使いやすさ」という全く新しい基準が評価軸となるのです[2]。
そのようなわけで、コッドの熱心な説得にもかかわらず、IBM は RDB への一歩を踏み出すことはできませんでした。代わって主役として躍り出たのは、IBM と違って失うものを持たない新興のベンチャー企業たちです(これもまた破壊的技術がもたらす典型的な結果です)。結果、IBM は関係モデルの創始者を抱えていながら、リレーショナル・データベース市場において大きく出遅れてしまうという屈辱を味わうことになります[3]。
二つの突破口
1970年代初め、リレーショナル・データベースを作り、それが実用にたえるアプリケーションであることを証明しようと、二つのプロジェクトが開始されます。一つが IBM による System R。もう一つが Ingres。カリフォルニア大学バークレイ校が、軍とアメリカ国立科学財団(NSF)の援助を受けて立ち上げたプロジェクトです。
System R の現在まで残る功績といえば、SQL の原型となる言語を実装したことです。コッドの構想した理想的な言語とは程遠い、という批判は当初からあったのですが、まがりなりにも、「そこそこ実用にたえる」レベルの言語が作られたことは、一つの成果です。しかし、System R は、IBM に方針転換させるほどの力はありませんでした。IBM は引き続き IMS を守ろうとします。ここまで IBM が頑なな態度をとったのは、上述の「市場がない」という理由のほかに、あるいは既に莫大な投資を行ってしまったという心理的な障壁もあったのかもしれません。行動経済学でいうサンクコストの呪縛です。
一方、1973年 ―― ちょうど IBM で System R のプロジェクトがスタートしたのと同時期 ―― バークレイの二人の科学者がリレーショナル・データベースに興味を持ちます。マイケル・ストーンブレーカーとユージーン・ウォンです(ストーンブレーカーは今では PostgreSQL の開発者として知られていますが、これは Post + Ingres の意味です)。当初、彼らはバークレイの経済学グループが地理データを処理するためのシステムを設計するために、資金集めをしていました。Ingres は Interactive Graphics and Retrieval System の略です。彼らはスポンサーを探しているなかで、インターネットの先駆 ARPANET を開発した国防高等研究計画局(DARPA)と海軍研究局(ONR)に話を持ちかけますが、もうほかのデータベース研究に出資してしまったということで、これは断られます。しかし最終的には、NSF と三つの軍事機関から、大盤振る舞いとは言えないけれど、援助をとりつけることに成功します。
Ingres は、システムの機能という点では System R に数歩を譲るローエンド向けのシステムでした[4]。しかしその初期データベース界の発展に対する貢献は、非常に大きなものがあります。その理由は、一つには Ingres が(お金がなかったので)大学の安い DEC のマシン上で、フリー OS である UNIX をベースに開発されたからであり、そして UNIX の世界の美風に従って情報を技術者コミュニティに公開したからです。金がない、いい環境がない、技術者もいない、というないない尽くしの条件が、イノベーションの草創期には逆に有利に働くことは、他の多くの事例でも知られているとおりです。
Ingres は、三つのチャンネルを使ってリレーショナル・データベースの技術を広めました。コード、人間、出版物です。IBM には真似のできないことですが、Ingres はソースコードを公開したので、1000 を超える数のコピーが世界中にばらまかれ、研究者や技術者は、自分たちのニーズに合わせて Ingres を改良して使うことができました。またストーンブレーカーは会社をたちあげ、バークレイのコードを直接販売しはじめました。するとやがて、そこで働いていたチーフ・プログラマのロバート・エプスタインがブリトン・リーと Sybase の共同設立者となり、Ingres での経験を活かして新たなデータベースの開発に取り組みます。 Sybase は日本でも名が知られていますし、ブリトン・リーは、後にデータウェアハウスの雄 Teradata が買収します。
Ingres グループの人材の拡散は、その後もどんどん加速します。ジェリー・ヘルドとキャロル・ヨウセフィは、Tandem に入社し、そこで彼らは後の NonStop SQLの前身となるシステムを作ります。この NonStop の技術は後に HP 社の Neoview に引き継がれます。ヘルドは Oracle の副社長に就任し、同社のデータベース開発を牽引していきます。それ以外にも、Informix、AT&T、HP、IBM といった企業へ Ingres の人材は流れ込み、多くの経験と知識を伝える媒介となります。
また、当時はデータベース界といっても狭いもので、System R と Ingres の両プロジェクトは、競争しときに反目しつつも人材のやりとりを行っていました。バークレイは学生を夏休みの間 IBM へアルバイトに行かせていたりしています。これは、リレーショナル・データベースを作れるだけの技術者が非常に少なかったので、どうしてもお互い協力せざるをえない状況もあったのでしょう。System R のチームは 15 人程度だったそうです。
リレーショナル・データベースの時代
IBM の SQL は、Ingres の QUEL との争いに勝利し、見事、国際標準の座を射止めます。このときが、IBM にとってリレーショナル・データベース市場を手にする最後のチャンスでした。しかし、ここでも IBM はチャンスを逃します。同社もついに商用のリレーショナル・データベースの開発に踏み切るのですが、1980 年にリリースされた初の RDBMS であるSQL/DS は、あくまでメインフレーム上で動くソフトだったのです。IBM はここに及んでもハイエンド市場を捨てきれなかった。
一方、なかなか周囲の理解を得られず孤軍奮闘していたコッドは、1981年にチューリング賞を受け、その仕事が正当に評価されます。また Oracle、Informix など多くの中小ベンダーが商用の第二世代 RDBMS を市場に送り出し、この分野が商業的にも成立することを証明します。その後、IBM も遅まきながらクリス・デイトというエースを投入してオープン系に対応した DB2 で巻き返しを図り、OS とオフィスアプリの巨人マイクロソフトも SQL Server をもってデータベース業界へ参入します。リレーショナル・データベースの時代が到来したのです。
歴史からの教訓
さて、以上のリレーショナル・データベース誕生史から導かれる教訓は何でしょうか。本書の著者はもちろん、政府の果たした役割の重要性を強調するのですが、私にはそれは大して重要なこととは思えません。確かに政府は様々な局面でスポンサーの役割を果たしているし、大恐慌時の社会保障政策や IMS のアポロ計画など、国家プロジェクトがデータベースの研究を促進した側面はあります。しかし、それらはあくまで付随的な結果であって、国家主導でリレーショナル・データベースの開発が行われたわけではありません。ここが日本の産業政策とは大きく違う。政府は気に入った製品を買うことはしても、何を作るかは基本的に民間や大学に任せていました。日本のように、「官僚の方が民間より賢いので、愚かな民衆を導いてやる必要がある」という意図は見られない。これは、どんな技術が「当たり」であるか事前には誰にも分からないからです。官僚が最初から正解を知っているなら、音頭をとってその分野に一極集中するのが一番効率がいい。でも、星の数ほどある新興技術のうち、どれが当たりクジであるかは、誰も知らない(知っていると勘違いしている人は沢山いるが)。だから、民間に任せて多産多死の実験を繰り返すのが、結果的に一番効率がいい。
むしろ、私が強く感じたのは、リレーショナル・データベースが破壊的技術の好例であり、その誕生史はそのまま、イノベーションのジレンマを実証している、ということでした。IBM には気の毒だけど、これほど見事な実証サンプルはないのではないでしょうか。クリステンセンに教えてあげたいぐらいです。
リレーショナル・データベースの歴史から分かるもう一つのことは、イノベーションという概念が、単に「革命的技術の発明」を意味するのではない、ということです。最初に関係モデルの技術が発明されたのは IBM 社内なのに、結果としてイノベーションを成功させたのは中小ベンダーだったからです。私の見るところ、イノベーションは、少なくとも三つのプロセスによって構成されます。
- 革命的な技術またはビジネスモデルの発明
- それを製品やサービスに現実化する
- 製品やサービスから収益をあげる
さて、そうすると気になるのが、データベース界における次の破壊的技術は何になるか、ということです。リレーショナル・データベースが誕生してもう 40 年が経過しました。これは変化の速い IT 業界では例外的な長寿命です。そろそろ次のパラダイム・シフトが起きてもいい頃合です。XMLDB、Spatial DB、Key-Value Store、アプライアンス、インメモリDB、大規模 DWH と、有望な次世代技術も多く登場してきています。あるいは、かつてのコッドのように、誰にも注目されることなく、しかし未来における自らの正しさを確信して思索を重ねている孤独な研究者がいるかもしれません。きっと、近いうちに私たちは、再び革命の日に立ち会うことになるのでしょう。それは一面こわいことでもあるけど、でも、イノベーションの流れを止めることは、人間には出来ないことです。それは一種の自律的運動でもあるからです。
注
[1] バックマンは、プログラミングによってデータベース内部でデータを探し回るプログラマを航海士に喩えました。なにしろ彼のチューリング賞受賞講演のタイトルからして「航海士としてのプログラマ」というものです。
一方、リレーショナル・データベースは、その航海士の役割を全部そっくり DBMS 側に持ってこようとしました。いわば「お客としてのプログラマ」を目指したのです。RDB のこの利点については、「そんなあなたが大好きよ」を参照。
[2] 初期のリレーショナル・データベースは、パフォーマンスが悪いことが顧客にとって導入のネックだったという以下のような証言があります。
「以前は情報システム部門の若手が時代に先がけてリレーショナルデータベース管理システムの導入を提案しても、上司がそれを斥けてきた。システムのパフォーマンスが良くないことが大きな理由の一つだったと聞いている。」(増永良文『リレーショナルデータベース入門』 (1991, サイエンス社)p.12 )
[3] そう考えると、現在の IBM 社が、なぜまだ市場が小さく利益の出ない XML データベースに熱心に取り組んでいるのか、という理由も理解できます。おそらくリレーショナル・データベースのときの経験がトラウマとなって、二度同じ間違いは犯したくないというプレッシャーがかかっているのでしょう。でも、私が思うに XML データベースは破壊的技術ではなく、むしろ RDB の欠点を補完する持続的技術に位置付けられる。XMLDB が完全に RDB に取って代わることは、きっとない。
[4] ストーンブレーカーらとしては、ハイエンドを目指そうとしてもお金がなかったので、最初はローエンドから入るしかなかったのでしょう。破壊的技術が最初にローエンド市場をターゲットにすることは、クリステンセンも認める正しいセオリーです(どうせハイエンド志向の顧客は「オモチャ」に興味は示さない)。最初からハイエンドを目指した System R は、この点でも的を外していた。
作成者:ミック
作成日:2009/04/18
最終更新日:2017/06/22 Tweet