{
  "slug": "betrfs",
  "term": "BetrFS",
  "aliases": [
    "B-epsilon-tree file system"
  ],
  "definition": "BetrFS is a research filesystem that uses B-epsilon-tree indexes to organize file data and metadata.",
  "status": "research",
  "note": "The FAST 2015 prototype runs in the kernel and stores its index nodes in files on an underlying ext4 filesystem. Its filesystem interface and its index are distinct layers. [fast15]\n\nThe FAST 2016 paper calls the earlier design BetrFS 0.1 and adds late-binding journaling, namespace zoning and range deletion in BetrFS 0.2. These version-specific mechanisms address different costs; namespace zoning here is unrelated to drive zones or fabric access control. [fast16]",
  "related": [
    "b-epsilon-tree",
    "write-optimized-dictionary",
    "buffered-upsert",
    "full-path-indexing",
    "range-rename",
    "late-binding-journal",
    "copy-on-abundant-write"
  ],
  "citations": [
    {
      "id": "fast15",
      "title": "Jannen et al. BetrFS: A Right-Optimized Write-Optimized File System. FAST 2015, pp. 301-315, sections 4-6.",
      "url": "https://www.usenix.org/system/files/conference/fast15/fast15-paper-jannen_william.pdf",
      "accessed": "2026-11-04"
    },
    {
      "id": "fast16",
      "title": "Yuan et al. Optimizing Every Operation in a Write-Optimized File System. FAST 2016, pp. 1-14, sections 1-5.",
      "url": "https://www.usenix.org/system/files/conference/fast16/fast16-papers-yuan.pdf",
      "accessed": "2026-11-04"
    },
    {
      "id": "hesela-buffered",
      "title": "Hesela: B-epsilon trees, visible updates and deferred work",
      "url": "https://hesela.com/analyses/b-epsilon-trees-buffered-updates/",
      "accessed": "2026-11-04"
    }
  ],
  "advantages": [],
  "limitations": [
    {
      "text": "Historical prototype evaluations do not establish present-day production readiness or a universal speed advantage.",
      "citationIds": [
        "fast15",
        "fast16"
      ]
    }
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-11-04"
}
