If LMDB is so fast why are people using boltdb, leveldb, rocksdb and all these other things that have exactly the same functionality but are slower?
Login to reply
Replies (8)
O vontade de entender sobre
My impression is there are lots of tradeoffs between concurrency, read/write workloads, appends vs updates, compression, query complexity... LMDB is not known for fast writes, as I understand it.
In my rigorous test, rocksdb is 20x faster than lmdb when put, but 20x slower when get.
B+ tree vs. LSM tree, there are tradeoffs and advantages. I compared the two awhile ago.
If I remember correctly, LevelDB (LSM tree) has faster write speeds for large databases.
LMDB (B+ tree) is faster for reads most of the time. The write speed, I believe, will decrease the larger the database.
In my nuc11 linux, after initializing 5M data with 32 bytes key/val, single process, 100 data batch write, rcosksb 1M/s, lmdb 60K/s
Thank you. This answer feels exactly right.
Makes sense, but I get the impression that LMDB is still the faster on average, which would make it the best choice for 90% of the use cases where you need a basic key-value store.