3 ms·
There are basically two usecases for LSM trees vs B+trees: - Either you have a lot of random new writes and not so many updates, in which case LSM trees will i
by rakoo 9y ago
There are basically two usecases for LSM trees vs B+trees:
- Either you have a lot of random new writes and not so many updates, in which case LSM trees will ingest new data as fast as the disk can store them
- Or you care more about read performance, and LMDB and BoltDB will have more predictable (and arguably better) performance
InfluxDB is a timeseries database, so they write a lot of stuff and don't even read all of it. As data gets older it can be pruned efficiently with an LSM-based design, not so easily with B+tree. Dgraph on the other hand seems to sit right in the middle as it wants to be a general purpose database so there's no easy winner here. Hopefully the choice was correct for most use cases.