twmht / python-rocksdb

Python bindings for RocksDB
BSD 3-Clause "New" or "Revised" License
276 stars 90 forks source link

Default target_file_size_multiplier=1 is not recommended #60

Closed oersted closed 5 years ago

oersted commented 5 years ago

This is a major issue, just something I wanted to bring attention to.

target_file_size_multiplier is set to 1 by default, however, the official RocksDB Tuning Guide mentions that it is 10 by default, and it is recommended not to change it.

Indeed, it is causing me issues with a large DB. The multiplier is 1 which means that all levels have the same size, so the number of SST files grows linearly. This means that I hit the open files limit when running my job at large-scale.

Is there any reason why the python-rocksdb defaults are not aligned with the official defaults?

oersted commented 5 years ago

My bad, I was looking at max_bytes_for_level_multiplier. The defaults are correct. I will close the issue.