{
  "slug": "fawn-ds",
  "term": "FAWN-DS",
  "aliases": [
    "FAWN Data Store"
  ],
  "definition": "FAWN-DS is the log-structured per-node key-value datastore used by the FAWN-KV research system.",
  "note": "A DRAM hash index points into a flash log containing full keys and values. Matching a short key fragment only selects a candidate: lookup compares the complete stored key and continues searching on a mismatch. The six-byte index slot contains a 15-bit fragment, one valid bit and a four-byte log offset. [fawn-paper]\n\nThe complete key here is the 160-bit lookup key. Comparing it cannot distinguish original objects already mapped to the same key upstream; this interface limit is not a measured collision result. [fawn-paper]",
  "status": "research",
  "advantages": [],
  "limitations": [
    {
      "text": "The datastore interface does not provide relational operations or transactions.",
      "citationIds": [
        "fawn-paper"
      ]
    }
  ],
  "related": [
    "silt",
    "key-value-separation",
    "value-log"
  ],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-11-07",
  "citations": [
    {
      "id": "fawn-paper",
      "title": "Andersen, Franklin, Kaminsky, Phanishayee, Tan and Vasudevan. FAWN: A Fast Array of Wimpy Nodes. SOSP 2009, section 3.3 and Figure 3.",
      "url": "https://www.pdl.cmu.edu/PDL-FTP/Storage/fawn-sosp2009.pdf",
      "accessed": "2026-11-07"
    },
    {
      "id": "hesela-index-slots",
      "title": "Hesela: compact flash indexes and explicit slot-occupancy accounting.",
      "url": "https://hesela.com/analyses/key-value-separation-cleaning-cost/#compact-index",
      "accessed": "2026-11-07"
    }
  ],
  "provenance": [
    "Historical source review, not a current product benchmark. FAWN-DS names the datastore, not the complete replicated FAWN-KV system."
  ]
}
