A single transaction that atomically reads from DRAM, writes to SSD, and replicates to NVM—without custom application logic—is exactly what DiStash delivers.
DiStash is a disaggregated transactional key-value store that treats each storage medium (DRAM, SSD, HDD, NVM) as a separate stash pool. Applications issue one transaction to manipulate copies of key-value pairs across any combination of those pools. No more hand-rolled coordination or distributed locking between tiers.
One Transaction to Rule All Storage Tiers
Stash pools are configured as either ephemeral or durable. The application decides whether pools are inclusive (replicated) or exclusive (tiered). DiStash handles the transactional guarantees across those decisions. That means you can keep a hot copy in DRAM, a warm copy on SSD, and a cold copy on HDD—all updated or rolled back together.
Race conditions vanish. When two clients try to update the same key across different stash pools, DiStash serializes the transaction. Partial failures don't leave your data inconsistent across tiers. This is the kind of semantics you expect from a single-node database, now stretched across physically disaggregated storage.
Built on FoundationDB, Tested on eBay's Workload
The team behind DiStash—from eBay and USC—implemented it by extending FoundationDB. They quantified design tradeoffs with microbenchmarks and a production workload from eBay. The code is open source at github.com/ebay-USC/DiStash, so you can kick the tires yourself.
FoundationDB gives them a proven distributed transaction layer. DiStash adds the stash abstraction on top: each stash pool is a separate storage backend, but the transaction layer sees them as one logical store. The result is a system that lets you mix media without writing custom consistency code.
If you're building a multi-tier storage system or a disaggregated architecture, DiStash shows the pattern works—one transaction, any pool, no race conditions.
Source: DiStash: A Disaggregated Multi-Stash Transactional Key-Value Store
Domain: arxiv.org
Comments load interactively on the live page.