Hi!
By default in badger, MaxLevel setting is 7, which makes tables on the highest level to have 32MiB size. Having that our database is 84GiB we end up having 3202 tables on highest level (after flattening).
My guess is that it would work more efficiently if number of tables was something closer to the number of threads that we can efficiently run (let’s say 128 at most). Am I right here or not?
That makes me thinking of having at least 1024MiB+ size for highest level tables - which is MaxLevels=12+ accordingly. Or alternatively I might increase multiplier instead of MaxLevels, not sure what’s better.
But would that bring some disadvantages? I assume there’s the reason why levels are limited to 7 by default, what is it? If there are no disadvantages, wouldn’t it at all make sense to flatten everything into a couple of tables? Or to a single table
Thanks in advance!