speedb-io / speedb

A RocksDB compliant high performance scalable embedded key-value store
https://www.speedb.io/
Apache License 2.0
912 stars 71 forks source link

OSS documentation for the new hash-based memtable #97

Closed isaac-io closed 1 year ago

isaac-io commented 2 years ago

22 is the issue to implement the new memtable.

The new memtable needs documentation - Wiki page + benchmark results This issue is to track the documentation.

bosmatt commented 2 years ago

Should be added to the current doc:

  1. How to use it?
  2. any other parameters should be changed for it? (switch memtable should be enabled? )
  3. performance results @erez-speedb
ayulas commented 2 years ago

i dont know where the updated doc so i will add here: 1 - to be able use the spdb memtable in db_bench/db_stress you should set --memtablerep=speedb.HashSpdRepFactory which will use the default bucket size = 1000000 if you want to set the bucket size as well the syntax is --memtablerep={id=speedb.HashSpdRepFactory; param1=value1} (param1 is the bucket size) in the production version you should set it in the Options, which should save it in the Options file for next time and use it. MemTableRepFactory::CreateFromString(ConfigOptions(), "speedb.HashSpdRepFactory", &options.memtable)

2 - switch memtable is based on spdb memtable and should be active to be able achieve the memtable benefit