石橋秀仁(zerobase)書き散らす

まじめなブログは別にあります→ja.ishibashihideto.net

ウェブとデスクトップでの永続化の意味論

データベースを使った永続化への復讐』をすごく分かりやすく説明すると、デスクトップGUIプログラムを起動しっぱなしで数ヶ月、数年間使い続けるというイメージですよ。

なんでデスクトップとウェブで「永続化」が意味論的にこんなにも違うかというと、端的に言って、ウェブはマッシブなマルチ・ユーザー・システムだからですよね。

PCでデスクトップアプリを使う感覚のアーキテクチャで10,000人にサービスを同時提供しようと思ったら、単純計算で、デスクトップアプリが使うメモリ(例えば30MB)の10,000倍のメモリ(=300GB)が必要になる。

そんなの無理だから、ウェブではリクエスト毎にオブジェクトをデータベースから生成するアーキテクチャが選択されているということ。

しかし、そういう物理的制約を論理的に無効ないし透明にするのが「仮想化」という技術の本質なわけです。仮想記憶しかり。

だから、「仮想化技術を使ってデスクトップGUIプログラミング的にウェブ・アプリケーションをプログラミングしたい」というのは、そんなにおかしいことを言ってるつもりはない。

see also: GLASS (GemStone, Linux, Apache, Seaside, and Smalltalk) によるテスト駆動プロトタイピングへ