コンテンツへスキップ
uencoder

Bloom Filter

ブルームフィルタは k 個のハッシュ関数とビット配列で集合の所属を近似し、偽陽性率と引き換えに容量効率を得る。

目的

キャッシュやデータベースに対して、容量効率の良い近似所属問い合わせを提供する。

メカニズム

挿入では要素を k 個の関数でハッシュして対応するビットを立てる。問い合わせでは k 個のビットがすべて 1 なら要素は存在する可能性が高い(偽陽性率は p≈(1-e^(-kn/m))^k)。偽陰性は決して生じない。標準版では削除はサポートされない。

ユースケース

  • キャッシュのフィルタリング
  • データベースクエリの最適化
  • データの重複排除

関連ツール

References