Reducing response time variance is important for some workloads.
This post explains sources of variance for workloads with high
write rates when the index structure is an LSM or a B-Tree. I
previously wrote about this in my post on durability debt.
- For a given write rate stalls are more likely with a B-Tree than an LSM
- Many RocksDB write stalls can be avoided via configuration
- Write stalls with a B-Tree are smaller but more frequent versus an LSM
- Write stalls are more likely when the redo log isn't forced on commit
- The worst case difference between an LSM and B-Tree is larger when the working set isn't cached
- Life is easier but more expensive when the working set …