3 ms·
Google started the trend of LSM with its release of leveldb. But leveldb hasn't been updated in a long time. Facebook forked leveldb and renamed it to rocksdb.
by isaachier 8y ago
Google started the trend of LSM with its release of leveldb. But leveldb hasn't been updated in a long time. Facebook forked leveldb and renamed it to rocksdb. Those are the only two LSM databases I know of, and IMO they are really the same thing. Meanwhile, lmdb vs. rocksdb/leveldb is a frequently asked question that seems to have no clear answer. Test on your hardware to find the best solution for your use case.
- rakoo 8y agoIt primarily depends on your requirements, as a rule of thumb: * If your workload is random-writes heavy, choose lsm * If your workload is serial-writes heavy, both are similar * If your workload is read-heavy (random or not) go for lmdb
- hyc_symas 8y agoIf your writes are larger than ~1/2 a page, LSMs are slower, regardless of random or sequential access pattern. http://lmdb.tech/bench/ondisk/ http://lmdb.tech/bench/ondisk/ Also, if your writes are mostly smaller than ~1/2 a page, you can reduce your B+tree pagesize and regain performance.