起源から InterSystems への道のり
-
この記事は、Caché 以前の歴史に関するかなり個人的な見方を書いたものです。
過去の記事で紹介された Mike Kadow 氏の素晴らしい著書に対抗するつもりはありません。
私たちの歴史的背景は異なるため、この記事は過去に対する別の視点を生み出すことを意図しています。
全体的な話は、1966 年に MGH(マサチューセッツ総合病院)で 8K のメモリ(18 ビットワード)[現在 = 18K バイト] を搭載した PDP-7(シリアル番号#103)
が予備のシステムとして使用されたことから始まります。
「シリアル番号 103 は、
現在 [2014] は MGH のコックスがんセンターの敷地になっている取り壊されたセイヤービルの地下にありました。」
「Octo Barnett の指導の下、Neil Papparlardo と Curt Marble が
このマシンで最初のソフトウェアを開発し、リリースしました。」
彼らはこのソフトウェアを MUMPS と名付けました。 (引用元)
PDP-7
言語自体は古い形式の Basic にかなり近いものでした。
しかし、他のプログラミング言語に比べて大幅に改善されている点がありました。
- その画期的なアイデアは、ファイルシステムを処理する必要なしに永続的なデータを格納および取得することでした。
これは、利用可能なメモリの 30 %以上を容易に消費し、ソートやインデックス付けに対応していない
他のシステムと比較すると、当時はものすごく先進的なものでした。 - (ALGOL、FORTRAN のように)強力なデータ型や名前によって強制されるデータ型がない。
これら(データ型の制約)によって形式上のエラーと変換の原因が無限に存在することになります。 - 構造が固定されていない動的(疎な)配列とメモリ内に事前に割り当てられた半分空の空間がある。
- 可変長の構造化インデックス(添え字)で永続的なデータにインデックスを付けることで
ソート、グループ化、サブグループ化などを簡単にしている。
これを COBOL、FORTRAN、PL/1 の古いコードと比較すると、この革命の規模がいかに大きいかわかるでしょう。
この新しいソフトウェアは PDP-11に至るまでの急速なハードウェアの発展と共に進化し、
最終的には MUMPS 4b として知られるようになりました。
1978 年は注目に値する年でした。
- InterSystems が Terry Ragon によって設立されました。
- DEC が初の VAX-11 クラスタを導入しました(確かカーネギーメロン大学で)。
- DEC が DSM-11(Digital Standard Mumps)を完成させました。
さらに、当時の最新標準規格に従いつつストレージのパフォーマンスを劇的に改善する
新しい Global モジュールがありました。
これは、データベースの名を冠した他のどの製品よりも圧倒的に性能が優れていました。
この Global モジュールの作成者は、国際的な経験を持つ優秀なエンジニアである Terry Ragon でした。
- 私自身も 1978 年に DSM-11 のセールス兼サポートエンジニアとして DEC に
入社し、メイナードでの最初のサポート向けトレーニングで Terry に会いました。
当時の DEC は新しい VAX-11 と VAX-Cluster に完全に舞い上がっていました。
新しい高性能 DB は無視され、その能力は完全に誤解されていました。
新しいハードウェアを有効活用するために DSM を VAX でネイティブに使いたいというソフトウェア開発者の要望はすべて無視されていました。
このように顧客の要望がいつまでも無視され続けていたことが、私が自身の顧客から誘われるきっかけになりました。
「対応してもらえないのなら、私たちと一緒にやりましょう!」[このような OS をゼロから作成するオファーはどのくらいありますか?]
私は誘いを断り切れず、ベアボーンの VAX-750 でゼロから顧客と一緒に OS を書き上げました。
この OS は VISOS と名付けられ、サポートされている VAX のモデルが存在する間は生き残っていました。
しばらくして、DEC は DSM を VMS の上にレイヤードプロダクトとして発表しました。
当初、性能は基盤となる RMS によって決まっており、ハードウェアの処理能力の向上は反映されていませんでした。
私は関心を失い、それ以降のことはもう気にしませんでした。
数年後、DEC が愛されていなかった製品である DSM を InterSystems に売却したことは最高の出来事だと思っています。
ほどなくして DEC は自身を売却することになりました。
私は 20 年後に InterSystems に入社したとき、Caché の中で再び自分が実装していた部分をたくさん見つけました。
そのため、私は故郷にいるようなとても温かい気持ちを味わうことができたのです。
現在の Caché はその前身からは大きく変わっていますが、ソースには互換性があります。
Globals の力はまだ残っているのです。 性能面で競合する DB を凌駕できない事例はほとんど
存在しないかもしれません。 数多くの中から私が気に入っている例をご紹介します。
欧州宇宙機関(ESA)が実行している GAIA プロジェクト
この投稿は、技術的な歴史と個人的な物語の一部を間違いなくかなり個人的な視点で執筆したものです。
ご質問がある方や、私の誤りを正す必要があると感じた方は遠慮無くご連絡ください。
私はウィーン(オーストリア)にいるため、遠く離れた天の川の境界から
ケンブリッジ、メイナード、ボストンでの決定を見ているような感覚を常に抱いていました。