evgen_dev
@evgen_dev
Веб-разработчик

Сколько нужно number_of_shards в индексе?

Приветствую, как определить, сколько нужно установить number_of_shards при создании индекса в elasticseach, который будет работать на одном физическом сервере, в который будет загружено 100 млн. документов общим весом в несколько терабайт?

Дело в том, что эту настройку нельзя изменить после создания индекса и не очень охота в последствии заниматься переиндексацией.

Спасибо!
  • Вопрос задан
  • 35 просмотров
Решения вопроса 1
@vitaly_il1
DevOps Consulting
Для кластера из одного сервера и большом кол-ве документов - кол-во шардов == кол-ву CPU cores.
Если есть возможность, разделите индекс на несколько, т.к. для одного сервера это большая база. Если можно как-то поделить данные - по времени, географии, релевантности, то это позволит искать в определенном индексе, а не во всей базе.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
...нечеловечески он пел, нечеловечески танцуя...
заниматься придется - Эластик память жрет что тот лев
обычно 2-3, 2, по-моему, прямо в мануале написано, 3 тоже где-то рядом

а дальше - от числа RPS клиентов зависит

+ если гнаться за временем ответа (ну типа не больше 1мс) ради СЕО, возникает ситуация, когда склейка с кучи шардов тоже занимает время, и это обуславливает цифу шардов в кластере , например, не более 20
(хз что у вас за документы, думаю, в вашем случае потолок будет ниже)

ну и все, дальше уже распределение клиентов идет по кластерам
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
PeoplePass Москва
от 150 000 до 250 000 руб.
TalentTech Москва
от 200 000 до 300 000 руб.
ManyChat Москва
от 180 000 до 250 000 руб.