{
  "slug": "size-tiered-b-epsilon-tree",
  "term": "Size-tiered B-epsilon tree",
  "aliases": [
    "STBε-tree",
    "STB-epsilon tree"
  ],
  "definition": "A size-tiered B-epsilon tree is an ordered index whose trunk routes searches through separate branch trees while deferring compaction.",
  "note": "Flush-then-compact moves branch references before merging their contents; a flush need not rewrite every referenced record. Short scans still initialize iterators across active branches. [stbe-paper]\n\nThe index structure does not specify a durability acknowledgment. In revision 73f89d8879e2, a successful update is visible but not necessarily durable; the public API distinguishes a blocking durability result from acceptance of an asynchronous barrier. [stbe-api]\n\nA tracked notification must complete successfully before its durability guarantee applies. With no normal workers, polling alone does not advance the queued work. Notification storage must remain alive until completion. [stbe-notifications]",
  "citations": [
    {
      "id": "stbe-paper",
      "title": "Conway et al. SplinterDB: Closing the Bandwidth Gap for NVMe Key-Value Stores. USENIX ATC 2020, pp. 49-63, sections 2-3 and 6.",
      "url": "https://files.usenix.org/s3fs-public/cdn/atc20-conway.pdf",
      "accessed": "2026-11-11"
    },
    {
      "id": "stbe-api",
      "title": "SplinterDB public API: update visibility and durable-barrier completion, revision 73f89d8879e2 (2026-11-01)",
      "url": "https://github.com/vmware/splinterdb/blob/73f89d8879e2e5603933f756c8c4d2c60a12d9c6/include/splinterdb/splinterdb.h",
      "accessed": "2026-11-11"
    },
    {
      "id": "stbe-notifications",
      "title": "SplinterDB: Durability notifications, revision 73f89d8879e2",
      "url": "https://github.com/vmware/splinterdb/blob/73f89d8879e2e5603933f756c8c4d2c60a12d9c6/docs/async-durable-barriers.md",
      "accessed": "2026-11-11"
    },
    {
      "id": "analysis",
      "title": "Hesela: B-epsilon trees, flush-then-compact and durability acknowledgments",
      "url": "https://hesela.com/analyses/b-epsilon-trees-buffered-updates/#stbe-flush",
      "accessed": "2026-11-11"
    }
  ],
  "related": [
    "b-epsilon-tree",
    "tiered-compaction",
    "quotient-filter",
    "write-ahead-log"
  ],
  "status": "research",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-11-11",
  "provenance": [
    "The 2020 structure and the pinned 2026 API are distinct source versions, not one reproduced experiment.",
    "Source and API review only; no SplinterDB binary, recovery fault injection or device benchmark was run."
  ]
}
