{
  "slug": "bloom-filter",
  "term": "Bloom filter",
  "aliases": [
    "Bloom membership filter"
  ],
  "definition": "A compact approximate-membership structure that can reject absent keys but may report a false positive, without false negatives for correctly inserted keys in an intact standard filter.",
  "note": "A positive answer requires checking the underlying data. The false-positive denominator is queries for keys absent from the represented set, not all queries. This is not an integrity checksum.",
  "related": [
    "lsm-tree",
    "sstable"
  ],
  "citations": [
    {
      "id": "bloom",
      "title": "Burton H. Bloom. Space/time trade-offs in hash coding with allowable errors. Communications of the ACM 13(7), 422-426 (1970), method 2. DOI: 10.1145/362686.362692.",
      "url": "https://courses.cs.washington.edu/courses/csep521/21wi/readings/bloom_cacm.pdf",
      "accessed": "2026-10-12"
    },
    {
      "id": "rocks-bloom",
      "title": "RocksDB project. RocksDB Bloom Filter: statistics, full filters and implementation trade-offs. Documentation reviewed 12 October 2026.",
      "url": "https://github.com/facebook/rocksdb/wiki/RocksDB-Bloom-Filter",
      "accessed": "2026-10-12"
    },
    {
      "id": "hesela",
      "title": "Hesela: Bloom filters and the cost of an absent LSM lookup",
      "url": "https://hesela.com/analyses/bloom-filters-lsm-read-cost/",
      "accessed": "2026-10-12"
    }
  ],
  "status": "shipping",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-12"
}
