Database / ScyllaDB Interview questions
What is the difference between STCS and LCS compaction?
| Size-Tiered (STCS) | Leveled (LCS) |
| Merges SSTables of similar size together. | Organizes SSTables into size-bounded levels. |
| Lower write amplification; simpler. | Higher write amplification, but bounded per-read SSTable count. |
| Can temporarily need up to 2x disk space during large compactions. | More predictable, smaller space overhead per compaction. |
| Better for write-heavy workloads. | Better for read-heavy workloads needing consistent low latency. |
STCS is the simpler default and works well when write throughput matters most and occasional read amplification is tolerable. LCS trades additional background I/O (more frequent, smaller compactions) for a guarantee that a read only has to check a small, bounded number of SSTables, which keeps read latency more consistent as data grows - the reason it's often recommended for read-heavy tables where p99 latency matters more than raw compaction overhead.
More Related questions...