もっと効率的なデータベースファイル構造
これまで取り組んできたプロジェクトを考えてみると、もっと効率的なデータベースファイル構造に取り組む必要性をよく感じる。それは今のdb4oが持っていない、次のような特徴を持つものだ。
①参照されているオブジェクトを、物理的(ハードディスク上)に近く格納
②部分的または実行時のデフラグメント
③適切な空きスペースの発見を省メモリ(一定以下)&高速化
んー、かなりローレベル機能だけど、やはり根本的に改善することが、圧倒的なパフォーマンスを生み出す源泉である以上、じっくり検討・デザインする価値はある。そこで、早速以下の本を勉強してみることに。
Forensicというのは、アルクの辞書によると、「法医学の」という意味で、つまり「ファイルシステムの法医学的分析」というようなとっつきにくいタイトルなわけです。具体的にどういうことかというと、ディスクのリカバリーなどの解析に役立つようです。この本では、詳細にいろいろなファイルシステムの仕組みが比較して解説されている。何はともあれファイルシステムを参考に勉強してみようと思ったのです。
Garbage Collection: Algorithms for Automatic Dynamic Memory Management
次はこれ。Garbage Collectionの様々なアルゴリズムが段階を追って比較・説明されている。データベースファイル構造とは関係なさそうだが、制限されたリソースをどう効率利用するかという観点で見ると、メモリ管理のアルゴリズムも大変参考になるのではと期待したもの。
今年のdb4o勉強会では、こういった本を活用してみるのもいいかな。