{
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-16",
  "slug": "b-epsilon-tree",
  "term": "B-epsilon tree",
  "aliases": [
    "Bε-tree",
    "B^ε-tree",
    "B-epsilon-tree"
  ],
  "status": "shipping",
  "definition": "A B-epsilon tree is an ordered index that buffers update messages in internal nodes and transfers them toward leaves in batches.",
  "note": "A lookup combines the leaf value with pending messages on its search path. The equal-size-item model trades node fanout against buffering; B denotes capacity in items, not a fixed number of bytes. TokuDB and the BetrFS research filesystem are implementation examples, not equivalent deployment guarantees. [betrfs]",
  "related": [
    "buffered-upsert",
    "lsm-tree",
    "copy-on-abundant-write"
  ],
  "citations": [
    {
      "id": "betrfs",
      "title": "William Jannen et al. BetrFS: A Right-Optimized Write-Optimized File System. FAST 2015, pp. 301-315; sections 2, 4, 5 and 7. Read with the publisher's erratum.",
      "url": "https://www.usenix.org/system/files/conference/fast15/fast15-paper-jannen_william.pdf",
      "accessed": "2026-10-16"
    },
    {
      "id": "hesela-buffered",
      "title": "Hesela. B-epsilon trees: visible updates, deferred work",
      "url": "https://hesela.com/analyses/b-epsilon-trees-buffered-updates/",
      "accessed": "2026-10-16"
    }
  ]
}
