Kyoto Cabinetでファイルシステムのディレクトリ内に個別のファイルとしてレコードを格納するデータベースを実装したらどうなるだろうという検討をしてみた。 ディレクトリDBとは 全てのレコードを1ファイルに収めるのがKCやTCの「ファイルハッシュDB」である。ファイルハッシュDBは大きくても数KB以下の小さなレコード群を効率的に管理するための仕組みであるため、レコード毎のフットプリント(レコードメタデータ)ができるだけ小さくなるように工夫している。典型的なユースケースとして64バイト以下くらいの小さいレコードを大量に扱うことを想定している。例えばWebサイトのタイムスタンプやその他のセッションデータなどである。 TCやKCだけでなく多くのDBM実装が小さいレコードに最適化されているわけだが、その理由はなんだろうか。レコードがでかい場合は、DBMを使わずにファイルシステムを使えばよいか