対応するレコードを読み、キーが一致するかどうかを確認する。一致すれば、データが見つかったことになり、検索を終了する。ハッシュテーブルの末尾に到達した場合は先頭に戻る。同じキーで複数のデータが登録されている場合は、空のスロットに出会うまで検索を続けることで全てのデータを取り出すことができる。符号無し32ビット整数であり、リトルエンディアンで格納される。キーと値は単なるバイト列として扱われる。データベースの先頭にある固定長ヘッダは、256個のハッシュテーブルそれぞれの、ファイル中のオフセットとスロット数を並べたものである。ヘッダの次は、データがレコードの列として格納される。各レコードは、キーの長さ・値の長さ・キー・値で構成される。アライメントや並び順に規則は無い。その次には、可変長のハッシュテーブルが256個並ぶ。各ハッシュテーブルはスロットの列からなり、スロットはハッシュ値とレコードのファイル中のオフセットで構成される。「空のスロット」はオフセットが0のスロットとして表現される。ハッシュ値は符号無し32ビット整数である。このハッシュ値は、5381から開始して、キーの各バイトについて、現在のハッシュ値を33倍した値と現在のバイトのXORを取っていくことにより求める。オーバーフローは破棄される。256個あるうちのどのハッシュテーブルに格納するかはハッシュ値の下位8ビットによって選択され、ハッシュテーブルのどこにスロットを置くかは、残りの上位24ビットをハッシュテーブルのエントリ数で割った値をもとに決定される。2009年5月30日閲覧。TinyCDB関連項目[編集]qmaildjbdnsダニエル・バーンスタインDBM外部リンク[編集]cdbTinyCDBこの項目は、ソフトウェアに関連した書きかけの項目です。この項目を加筆・訂正などしてくださる協力者を求めています(PJ:コンピュータ/P:コンピュータ)。(日時は個人設定で未設定ならばUTC)。表示-継承ライセンスの下で利用可能です。追加の条件が適用される場合があります。詳細は利用規約を参照してください。開発者Cookieに関する声明モバイルビュ。