はじめに

CHDB (constant hash database) は、高速に動作する KVS (Key Value Store) 方式のデータベースで、一度作成したらデータを更新することは出来ません。メモリマップファイルを使っていることが知られており、そのため以下の機能を持っています。

  • データベースのサイズに関わらず、最初のデータの読み込みが非常に高速です。

  • 実際に使われるファイルに対応したページのみがディスクから読み出されます。

  • 一度ページがロードされると、複数のプロセスから共有されます。

  • 読み込まれたページは複数のプロセスにまたがってキャッシュされます。これはプロセスが再利用される時でも同じです。

たくさんの定数をPHPで定義するかわりに CHDB を使うのが典型的な使い方です。

CHDB は、内部的には » 完全ハッシュ関数 を使った ハッシュテーブル として実装されています。よって、最悪でも O(1) の検索時間で済むことを保証しています。