{
  "slug": "rosetta-range-filter",
  "term": "Rosetta range filter",
  "aliases": [
    "Rosetta"
  ],
  "definition": "Rosetta is a probabilistic range filter that represents binary key prefixes in a hierarchy of Bloom filters.",
  "note": "A query is split into aligned power-of-two intervals, each represented by a binary prefix. A positive prefix can trigger deeper checks, called doubting, before the filter accepts the range as possibly nonempty. [rosetta]\n\nThe paper's storage integration rebuilds a filter for each output SST after compaction. Its tuning trades probe work against false positives under a memory budget. [rosetta]\n\nFor unsigned four-bit integers, inclusive [5,10] decomposes into [5,5], [6,7], [8,9] and [10,10]. These four cover blocks are not a count of recursive probes; [5,5] alone needs one block. [geometry]",
  "related": [
    "succinct-range-filter",
    "bloom-filter",
    "prefix-bloom-filter",
    "sstable"
  ],
  "citations": [
    {
      "id": "rosetta",
      "title": "Luo et al. Rosetta: A Robust Space-Time Optimized Range Filter for Key-Value Stores. SIGMOD 2020, sections 2-5. DOI: 10.1145/3318464.3389731.",
      "url": "https://nivdayan.github.io/rosetta.pdf",
      "accessed": "2026-11-08"
    },
    {
      "id": "geometry",
      "title": "Hesela: exact dyadic-cover examples and exhaustive tests (CC0)",
      "url": "https://hesela.dev/research/dyadic-cover.test.mjs",
      "accessed": "2026-11-08"
    },
    {
      "id": "analysis",
      "title": "Hesela: cover intervals versus recursive filter probes",
      "url": "https://hesela.com/analyses/bloom-filters-lsm-read-cost/#rosetta",
      "accessed": "2026-11-08"
    }
  ],
  "status": "research",
  "advantages": [],
  "limitations": [
    {
      "text": "A possibly nonempty result still requires checking stored data.",
      "citationIds": [
        "rosetta"
      ]
    }
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-11-08",
  "provenance": [
    "The SIGMOD 2020 study uses RocksDB 6.3.6 and empty-query workloads; it is not a current-engine performance guarantee. [rosetta]",
    "The accompanying code checks integer interval geometry, not Rosetta or a Bloom implementation. [geometry]"
  ]
}
