|
|
|
|
|
by awitt
713 days ago
|
|
The original purpose of an LSM-tree is to take I/O off the critical path of a write (there are other reasons to use them though, for example reducing space amplification). I would argue that by definition an LSM-tree buffers committed writes in memory, and that means you need a WAL for recovery. If you are going to immediately flush the memtable then IO is on the critical path. And if you have fine grained updates you'll end up with lots of small files, which seems like a bad thing. It could be reasonable if you only receive batch updates. |
|