Сначала найдите источник лишних записей: compaction, вторичные индексы, большие документы или частые обновления одного ключа. Решение зависит от движка, а не от ярлыка NoSQL.
Поиск источника write amplification в NoSQL
Сначала найдите источник лишних записей: compaction, вторичные индексы, большие документы или частые обновления одного ключа. Решение зависит от движка, а не от ярлыка NoSQL.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Сначала найдите источник лишних записей: compaction, вторичные индексы, большие документы или частые обновления одного ключа. Решение зависит от движка, а не от ярлыка NoSQL.
Для LSM-хранилища подбирают compaction strategy под нагрузку и контролируют write stalls, объём SST и пропускную способность диска. На уровне модели уменьшают ненужные индексы и не переписывают крупный объект ради одного поля, если движок это допускает. Частые изменения можно объединять в батчи при приемлемой задержке; горячие ключи распределяют. Append-only журнал иногда помогает, но переносит стоимость в чтение и последующую консолидацию. Сравнивайте физически записанные байты с полезными изменениями и проверяйте компромиссы по latency, памяти и долговечности.