Для LSM-хранилищ write amplification часто создают compaction, индексы и повторная запись больших значений. Снижать его нужно через модель данных и настройки движка, измеряя компромисс с чтением и местом.
Write amplification в LSM: compaction, индексы и данные
Для LSM-хранилищ write amplification часто создают compaction, индексы и повторная запись больших значений. Снижать его нужно через модель данных и настройки движка, измеряя компромисс с чтением и местом.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Для LSM-хранилищ write amplification часто создают compaction, индексы и повторная запись больших значений. Снижать его нужно через модель данных и настройки движка, измеряя компромисс с чтением и местом.
Объединяйте частые изменения, если допустима задержка, отделяйте редко меняемые большие поля и уменьшайте лишние вторичные индексы. Подбирайте размер буферов и стратегию compaction; универсальная схема не одинаково полезна для всех нагрузок. Шардирование распределяет нагрузку, но не обязательно уменьшает отношение физических записей к логическим. Отключение WAL ради скорости меняет гарантии надёжности и не является обычным исправлением.
Источник: engineering.fb.com.