{
  "slug": "fptree",
  "term": "FPTree",
  "aliases": [
    "Fingerprinting Persistent Tree"
  ],
  "definition": "FPTree is a hybrid B+ tree that persists leaves in storage-class memory and reconstructs DRAM-resident inner nodes during recovery.",
  "note": "Selective persistence leaves routing state volatile. Recovery first repairs interrupted leaf splits and deletions from micro-logs, then rebuilds inner nodes from the leaf chain. Fingerprints select candidate keys; full comparisons resolve collisions. [fptree]",
  "status": "research",
  "advantages": [],
  "limitations": [
    {
      "text": "The paper's latency experiments use DRAM-based SCM emulation; they do not establish performance on current persistent-memory hardware.",
      "citationIds": [
        "fptree"
      ]
    }
  ],
  "related": [
    "b-plus-tree",
    "persistent-memory",
    "persistence-domain"
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-11-10",
  "citations": [
    {
      "id": "fptree",
      "title": "Oukid et al. FPTree: A Hybrid SCM-DRAM Persistent and Concurrent B-Tree for Storage Class Memory. SIGMOD 2016. DOI: 10.1145/2882903.2915251.",
      "url": "https://d-nb.info/1266178864/34",
      "accessed": "2026-11-10"
    },
    {
      "id": "hesela-pmem",
      "title": "Hesela: persistent memory, recovery state and FPTree.",
      "url": "https://hesela.com/analyses/pmem-persistence-domains-dax/#fptree",
      "accessed": "2026-11-10"
    }
  ],
  "provenance": [
    "Source review of the accepted manuscript, sections 4.1-4.2, 5 (Algorithm 9) and 6.1. Publication year is not a commercial-availability claim."
  ]
}
