Вопросы по сайзингу в части дискового пространства


(PaWeLL) #1

Всем привет. Возникло у меня несколько вопросов в части сайзинга дискового пространства для кластера.
Буду благодарен за ответы.

  1. Как сильно увеличение количества шардов в индексе влияет на то, сколько места он будет занимать?
    Есть ли какая-то формула для рассчета?

  2. Есть ли смысл регулярно делать merge для уменьшения количества сегментов и шардов? Это уменьшит размер индекса? А скорость запросов к нему?


(Igor Motov) #2

Как сильно увеличение количества в индексе влияет на то, сколько места он будет занимать?
Есть ли какая-то формула для рассчета?

Зависит от нескольких факторов, но после достижения 10G должно рости более-менее линейно.

Есть ли смысл регулярно делать merge для уменьшения количества сегментов и шардов?

Не имеет. Хотя поиск по одному сегменту и теоретически быстрее, при merge теряются все кэши, то есть каждый раз у вас это будет вызывать временное замедление. Мы обычно рекомендуем делать merge только если индекс больше изменяться не будет.

Это уменьшит размер индекса? А скорость запросов к нему?

Да и смотри примечание выше.


(PaWeLL) #3

Сейчас только заметил, что пропустил слово "шардов" в первом вопросе.
Когда вы отвечали на него, вы сегменты или шарды имели в виду?

К примеру, если у нас недельные индексы, имеет смысл сжимать индексы за предыдущие недели?
И что даст большую экономию места? Уменьшение количества сегментов или шардов?
По скорости пока требований нет.


(Igor Motov) #4

Когда вы отвечали на него, вы сегменты или шарды имели в виду?

Я имел в виду сегменты.

К примеру, если у нас недельные индексы, имеет смысл сжимать индексы за предыдущие недели?

Если эти индексы не изменяются, то уменьшение количества шард и сегментов может иметь смысл, так как уменьшение количества шард в кластере, может уменьшить нагрузку на кластер. Однако надо заметить, что уменьшение количества шард должно улучшить пропускная способность (throughput) системы оно может ухудшить время выполнения отдельных запросов (latency) из-за того, что выполнение одного запроса параллелизуется межде шардами, но внутри шарды выполняется на одном потоке.

По скорости пока требований нет.

"Преждевременная оптимизация — корень всех (или большинства) проблем в программировании." -- Дональд Кнут


(system) #5

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.