anvil · research · also Anvil dTables

Anvil

Anvil is a research toolkit that composes specialized key-value storage modules called dTables into database storage back ends.

Composition: Writable journals absorb updates; read-only tables serve stored data. Managed dTables digest journals and combine older tables. [1]

Deletion: An overlay checks subordinate tables in priority order. An explicit nonexistent value stops the search; a missing key does not. [1]

Reclamation: A deletion marker is removable only when the tables left outside the replacement no longer expose a value it must hide. The required markers therefore depend on which tables are combined. [1]

Recovery: The design separates a consistent prefix of committed transactions from requested durability. Its ordering mechanisms depend on Featherstitch or historical ext3 behavior, not a portable guarantee for arbitrary filesystems. [1]

Lineage: SILT credits Anvil's composition of specialized stores as a design influence, not as an interchangeable implementation. [2]

Example: In Hesela's three-layer model, two deletion markers cover an old value. Replacing only the newest layer can drop its marker because the middle one still masks the value. Replacing both newest layers must retain a marker. All 128 enumerated prefix replacements preserve visible results; deliberately dropping that last marker exposes the old value. [3]

Relations

related
SILT, LSM tombstone

Limitations

  • The 2009 prototype lacks transaction abort and full concurrency; its results are not evidence of current hardware performance. [1]

Citations

  1. Mammarella, Hovsepian and Kohler. Modular Data Storage with Anvil. SOSP 2009, sections 3, 4 and 5.3. (accessed 2026-11-15)
  2. Lim et al. SILT: A Memory-Efficient, High-Performance Key-Value Store. SOSP 2011, multi-store design and related work. (accessed 2026-11-15)
  3. Hesela educational overlay model: 128 cases, assumptions and replacement-scope counterexample. (accessed 2026-11-15)

Further reading

  1. Reproducible JavaScript model; run with Node.js. This is not the Anvil engine. (accessed 2026-11-15)
Sources & caveats
  • Historical source synthesis and an original finite-state teaching model, not native Anvil execution, a crash test or a benchmark.
  • The model assumes one key, fixed layer order and no concurrent mutation; it checks logical visibility, not physical erasure or durability.

JSON: /data/terms/anvil.json

Published by Hesela team · Updated

Report a correction · Editorial standards · Reuse guidance

Cite this page
Hesela team. Anvil. Hesela. 2026-11-15. https://hesela.dev/terms/anvil/