うしPのサイト
文学・思想の一丁目一番地
エドガー・F・コッド入門 科学者入門シリーズ45
第一章 エドガー・F・コッドとは何者か――「データの世界を定義した男」
エドガー・F・コッドという名前は、派手さでは勝負していない。ノイマンのように神話を背負っているわけでもない。チューリングのように悲劇性で胸を締めつけるわけでもない。だが、もしあなたがこの現代に生きていて、銀行口座を持ち、ネットで買い物をし、病院で診療を受け、役所の手続きに名前を書き、スマホのアプリで履歴を残しているなら、あなたはすでにコッドの世界に住んでいる。しかもそれに気づかないまま、最も深いところで彼の恩恵を受けている。
コッドが凄いのは、コンピュータの性能を上げたからではない。CPUを発明したわけでも、OSを作ったわけでもない。彼がやったのは、「データ」という曖昧で厄介で、しかし文明にとって不可欠なものを、数学的に扱える形へと定義し直したことだ。定義とは、世界を切り出す刃である。名前を付け、境界を作り、操作できるものに変える。コッドは、乱雑な書類の山に「これはこういう形の情報で、こういう操作ができる」と言い切ってみせた。人類の情報管理が、彼の一言で整理されてしまった。そういうタイプの革命が存在する。
コッドは1923年、イギリスで生まれた。若い頃から工学の道へ進み、第二次世界大戦をまたいで技術の世界を生きた世代だ。戦争は人間を壊すが、同時に技術を異常に加速させる。レーダー、暗号、計算機。必要があるから、命を賭けて改良する。彼が生きた時代の空気には、技術が「国家の運命を左右する武器」だった手触りがある。だが戦後、コンピュータは武器であると同時に、企業や社会の中枢へ入り込む道具になっていった。そこから先の戦場は、砲火の下ではなく、事務机の上に移る。紙の帳簿が、機械の中へ引っ越していく時代が来る。
この引っ越しは、誰もが想像するよりずっと難しい。帳簿には帳簿の論理がある。紙は自由だ。必要なことを必要な形で書き足せる。余白がある。曖昧な注釈も許される。だが機械は、曖昧さを嫌う。形式を要求する。しかも企業や行政が扱うデータは、単なる数字の羅列ではない。顧客、契約、在庫、支払い、配送、予約、履歴。相互に絡み合う関係の網である。紙なら人間が目で追えるが、機械に任せると途端に問題が噴き出す。どこに何が書いてあるのか分からない。変更すると別の場所が壊れる。新しい要件が来るたびにシステムが悲鳴を上げる。データは文明の血液なのに、その血管が絡まって詰まってしまう。
コッド以前にも、データを管理する仕組みは存在した。階層型データベースやネットワーク型データベースと呼ばれる世界だ。こうした方式は、当時としては合理的だった。データを木構造や網構造として持ち、必要な道筋をたどって取り出す。だがここには大きな代償がある。データの構造そのものが、プログラムの書き方を拘束するという代償だ。どこから辿り、どの順番でアクセスするかが、アプリケーションの中に埋め込まれてしまう。最初は速く動く。だが仕様変更が来た瞬間、地獄が始まる。データの形が変わると、関連するプログラムが全部崩れる。誰が悪いわけでもない。設計思想がそういう運命を呼び込んでいる。
この状況を見たとき、多くの人は「もっと頑張って整理しよう」と考える。データ構造を綺麗にしよう、アクセスパスを最適化しよう、ルールを厳格にしよう。つまり、今ある枠組みの中で改善しようとする。しかしコッドは違った。彼は「枠組みが間違っている」と疑った。データは本当に、木や網として持つべきなのか。データを取り出す手順を、プログラムに埋め込むべきなのか。もっと抽象度の高い、操作しやすい形でデータを定義できないのか。ここに、コッドの革命の出発点がある。
1970年、彼は論文を発表する。そこで提示されたのが「関係モデル」だ。関係モデルという言葉は、いかにも数学っぽくて身構える。しかし発想の中心は驚くほど素朴で、強烈だ。データは「表」で表現できる、と言い切る。表。スプレッドシートのような行と列。だが、ただの表ではない。ここでの表は数学的な対象であり、集合として扱えるものだ。集合なら、結合や選択や射影といった操作で加工できる。つまり、データに対して「手順」ではなく「宣言」で命令できるようになる。どう辿るかではなく、何が欲しいかを言えばいい。これが本当に成り立つなら、世界が変わる。
コッドは「データの世界に、正しい言語を与えよう」とした人だ。プログラマが迷路を走り回りながら情報を回収するのではなく、条件を述べれば情報が手元に集まってくる世界。しかもデータの持ち方が変わっても、アプリケーションが影響を受けにくい世界。これは技術者にとって夢だ。だが同時に、あまりに大きな設計思想の転換でもある。既存の仕組みで生きている人々からすれば、よく分からない理想論に見える。現場は速度と納期で動いている。「表で持てばいい」などと言われても、今動いているシステムをどうするのか、という話になる。革命は、たいてい最初は面倒くさい。
うしPのページに戻る