{
  "slug": "retrieval-data-structure",
  "term": "Retrieval data structure",
  "aliases": [
    "static retrieval",
    "static function data structure"
  ],
  "definition": "A retrieval data structure compactly represents values for a fixed key set without having to recognize queries for keys outside that set.",
  "note": "For a fixed set S with r-bit values, a stored key must return its assigned value. A key outside S may return any r-bit value, including one assigned to a stored key. The structure therefore does not provide the missing-key response of an exact dictionary. [static-functions]\n\nFilter reduction: Store independent, uniform r-bit key fingerprints as values, then compare the retrieved value with the query fingerprint. Stored keys match; a fixed absent key matches with probability 2^-r under the random-function model. For r=8, 1/256 = 0.390625%; this is model arithmetic, not a measured implementation error rate. [static-functions]\n\nBuRR exposes QueryRetrieval and QueryFilter as separate operations. Its retrieval example constructs assigned values, performs back-substitution, and queries those values. Using retrieval output alone as proof of key membership is invalid. [burr-readme] [burr-api]",
  "related": [
    "ribbon-filter",
    "xor-filter",
    "binary-fuse-filter",
    "bloom-filter",
    "minimal-perfect-hash-function"
  ],
  "citations": [
    {
      "id": "static-functions",
      "title": "Dillinger and Walzer. Ribbon filter: practically smaller than Bloom and Xor. arXiv:2103.02515v2, section 2.",
      "url": "https://arxiv.org/abs/2103.02515v2",
      "accessed": "2026-11-10"
    },
    {
      "id": "burr-readme",
      "title": "BuRR: retrieval contract and usage example, commit 2ba071ab728f77d1cebbd14d1f0b9381575730ab.",
      "url": "https://github.com/lorenzhs/BuRR/blob/2ba071ab728f77d1cebbd14d1f0b9381575730ab/README.md",
      "accessed": "2026-11-10"
    },
    {
      "id": "burr-api",
      "title": "BuRR ribbon.hpp: QueryRetrieval and QueryFilter, commit 2ba071ab728f77d1cebbd14d1f0b9381575730ab.",
      "url": "https://github.com/lorenzhs/BuRR/blob/2ba071ab728f77d1cebbd14d1f0b9381575730ab/ribbon.hpp",
      "accessed": "2026-11-10"
    }
  ],
  "status": "research",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-11-10",
  "provenance": [
    "Source synthesis from the full 2021 paper and pinned BuRR code, not a new implementation or benchmark.",
    "The absent-key probability assumes the stated random fingerprint model; it is not a guarantee for adaptively selected queries. [static-functions]"
  ]
}
