Three levels, one strategy: compaction without the tuning PhD
LSM compaction is where storage engines breed complexity. Crowkis ships exactly one strategy across three levels, chosen for cache workloads, closed for configuration.
Mature LSM engines offer compaction styles the way menus offer wine: leveled, tiered, universal, FIFO, hybrid, each with a tuning surface that consumes operator careers. The flexibility exists because those engines serve every workload imaginable. A cache's workload isn't imaginable; it's known: write-heavy on misses, read-critical on hits, values that expire, sizes that stay modest.
So CrowkisDB ships one strategy over three levels, L0 absorbing memtable flushes, folding down through L1 and L2, with thresholds chosen for that known shape. Read amplification stays bounded for the latency promise; write amplification stays sane for SSD longevity; TTL-expired entries die during folding, making expiry cleanup a side effect rather than a chore.
- 1incoming query
- 2intent classifier
- 3template match
- 4HNSW neighbours
- 5confidence gate
- 6trust + freshness
- 7answer · <1ms
- 8(nil) → your model
Reuse only when meaning, structure, confidence, and trust all agree.
The operator-facing consequence is an empty config section, deliberately. No compaction strategy to mischoose, no tuning guide to misread at 3 a.m., no foot-gun shaped like flexibility. The invariant list the compactor maintains is tested by the heaviest part of the suite instead of documented as your responsibility.
The bottom line
Configurability is a cost paid by users to cover a vendor's uncertainty. We weren't uncertain about the workload, Crowkis only has one, so we spent the certainty on your behalf.