銃声響かず

エフの補修に執心した日だった。彼は使用者はおろか、修正を行う担当に対しても「何がどう動いているのかは分からないが、とにかく素早く動く」ものを提供することに突出した職人だ。あなたもまた、死の反復横跳びの一件で忘れられないほどの悪夢を目の当たりにしているからそれはご存じだろう。
我々職人にとって欠かせない仕組みが情報の蓄積体であるデータベースだ。殆どの操作はここに集約され、そして殆ど見たいものの全てがここから吐き出される。あまりなじみがないと思うので、少し詳しく解説することにする。

 

データベースは、複数の端末を繋いだ通信経路を通じてや、またはそれそのものが入った機構から接続し、決められた形のデータを保持する仕組みだ。使用者は、それらのデータを追加したり、改変したり、削除したり、あるいは閲覧することが出来る。

ただし、情報というのは最適化された形で容れていかないと、情報自体のサイズが肥大化し、とても使い物にならない通信量になったり、または記憶媒体を圧迫することになりかねないことから、取り出してすぐに使えるような形では保持されないことがほとんどだ。

例を挙げるなら、冷蔵庫に詰めて入れたり、本棚に空きがないように隙間をなく仕舞い込むことに近い努力を、我々職人は行っている。見えない情報の形のどこが尖っているからこの棚には入らないだとか、そういうことの整理から始める。

 

取り出すことを目的とするか、仕舞い込むことを目的とするかにより情報の形は千差がある。これをきわめて適当に設計する、という段取りがまずはコーデックスを拵えたり、補修するよりも先にある。その上では、「とにかく近くて安い店」と「ここから数分歩いた所にあるチェーン店らしい安価な店」のような、同じ情報でも形が違う同じものが入っている入れ物が欲しいというケースが中には存在する。

そこで勝手なことに、ある入れ物に情報を容れこんだ時、あるいは何か改変を行った時、自動的に他の箇所に情報を変換して投入するような動作が作り出された。
これは、「引鉄」と呼ばれる技術で、何か情報に動きがあった場合、他の情報に対して整合性を取るものだ。たとえばあなたの住所が変わったことを引鉄にして、僕の年賀状のリストの宛先が瞬時に変わるとしたら画期的ではないだろうか。
事実、この引鉄を作ったデータベースの製作者の職人はしてやったりと思っただろうし、これに触れた使う側の職人も、これを使った素晴らしい仕組みを山ほど思いつくだろうが、一つ難点がある。

 

ある一つの情報に対して何かの操作を行った時、実は二つの情報が変わっている、というのは使っている側はおろか、職人すらも欺く。コーデックスに書かれている以上の情報が改変を受けたり、この情報さえ消せば問題はなくなると考えたとしても他の重要な情報が共に消えうせる、というようなことが発生しうるリスクがあるのだ。

もう想像がつくかもしれないが、【フェオ】の構築したデータベースにはまるで忍者屋敷のようにこの引鉄が埋め込まれ、何か些細な動きをする度にこの引鉄から弾丸が発射される。弾丸を受けた情報はその度に凹んだり別の位置に吹き飛ばされたりするが、誰が弾丸が飛んだ後の事を想像できるというのだろうか。

 

他人の家に入った時、お世辞にも綺麗ではない部屋だとしても本人は何がどこにあるのか完璧に把握していて驚く、そんな経験を誰もがしたことがあると思う。そういう人は決まって、この部屋は自分が過ごしやすいようになっていると言う。

【フェオ】は、自ら手掛けた仕組みの中で完璧にそれを再現している。何がどこにあるのかが一切分からない部屋の中で、機能性を重視するあまりに他人からはおよそどう生活していいのか全く理解できない空間を生成した、ということだ。
不思議と動作が速いことにも頷ける。恐らく最適化されたデータベースに近いのだろうとも。彼にしか分からないことを除けば。

 

僕は今日頭の中で何度も引鉄を引いた。