Почему LevelDB делает свой нижний уровень в 10 раз больше верхнего?
Согласно официальному документу, нет никаких сомнений в том, что нижний уровень в 10 раз больше верхнего уровня в LevelDB.
Вопрос в том, почему 10? не 2? не 20? Это связано с какими-то строгими математическими вычислениями или это просто работает?
Я прочитал оригинальную статью LSMT. Я могу понять многокомпонентную часть, потому что будет слишком сложно объединить дерево c0 с очень большим деревом c1. Но в статье ничего не говорится о том, что является лучшим параметром.
Я прав? На самом деле это вопрос интервью. Как я могу ответить правильно, если нет лучшего параметра?
1 ответ
10x - разумное значение, может не быть строгим.
Значение этого коэффициента не может быть слишком маленьким, потому что создаст слишком много уровней, что не удобно для чтения, и приведет к большему пространственному усилению.
Он не может быть слишком большим, как вы упомянули, стоимость компакта будет увеличиваться с увеличением среднего числа участников.