{
  "slug": "quotient-filter",
  "term": "Quotient filter",
  "aliases": [
    "QF"
  ],
  "definition": "A quotient filter is an approximate membership structure that stores hash fingerprints using quotients, remainders and placement metadata.",
  "note": "The original design can enumerate fingerprints and merge compatible filters without fetching original keys. Resizing transfers a bit between quotient and remainder while preserving fingerprint width. [qf-paper]\n\nEnumeration recovers fingerprints, not original keys. A positive lookup can be a collision; it is not an exact-key inventory. [qf-paper]",
  "citations": [
    {
      "id": "qf-paper",
      "title": "Bender et al. Don't Thrash: How to Cache Your Hash on Flash. PVLDB 5(11), 2012, pp. 1627-1637, section 3.",
      "url": "https://people.csail.mit.edu/bradley/papers/BenderFaJo12.pdf",
      "accessed": "2026-11-10"
    },
    {
      "id": "hesela-stitching",
      "title": "Hesela: VT-tree stitching and filter-maintenance costs",
      "url": "https://hesela.com/analyses/bloom-filters-lsm-read-cost/#vt-stitching",
      "accessed": "2026-11-10"
    }
  ],
  "related": [
    "bloom-filter",
    "vt-tree"
  ],
  "status": "research",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-11-10",
  "provenance": [
    "Describes the 2012 paper's quotient filter, not every later counting or concurrent variant. No implementation executed."
  ]
}
