HOWS「ISSEI(イッセイ)」
庄司副社長が目を付けていたのは、ファイル検索だ。OSの基本機能であるため、ファイル名の検索速度は速い。そこで検索対象となるファイルに含まれるデータそのものを、すべて「ファイル名」として管理することにした。具体的には、ファイルに含まれる「東京」「大阪」などのデータそのものを、62進数の文字列に変換し、それらをファイル名の集合体として別途管理する(図)。検索対象は、このファイル名の集合体。この方法によって、ハードディスクに保存されているファイル本体にアクセスすることなく、メモリーにキャッシュされたファイル名群を検索することで高速化を図っている。
従来のDBシステムでは、ディスク内のファイルに対してアクセスするのが一般的だ。「ファイルの入出力にかかる時間がボトルネックで、検索速度が上がらないとの問題を抱えていた」(庄司副社長)と言う。
ISSEIはマイクロソフトの「VisualBasic」で開発した。庄司副社長は、「高度な関数を駆使することよりも、処理の高速性を最優先し、シンプルにコードを記述することにこだわった」と話す。庄司副社長は、プログラムが完成するたびにストップウオッチを片手に処理速度を計測したという。
概要だけでは仕組みがよく理解できなかった。
- ファイル名検索ってハードディスクへのアクセスがなかったのか?
- 仮にそうだとして、百万件以上もメモリにぶっこんでるのか?
- リソースを潤沢に使えば速度は上がる、リソースを節約すれば速度が犠牲になる。これ定説じゃなかったっけ?
- つか、同時実行制御はどうやってんの?
- Visual Basic ?(これは偏見以外の何ものでもないけど)
と凡人である私はイチャモンしか言えないけど、今後に期待