Нужно ли устанавливать несколько первичных сегментов для очень больших данных, когда на одном сервере находится эластичный поиск? - PullRequest
0 голосов
/ 16 апреля 2019

Я установилasticsearch на одном сервере.Я хочу знать, нужно ли устанавливать num_of_shards больше 1, когда данные очень большие?Я предполагаю, что если я установлю num_of_shards больше 1, но эти осколки находятся на одном диске.когда я что-то ищу и квест назначается этим осколком.Производительность может быть ниже, чем при этом сценарии num_of_shards равно 1, есть ли проблемы с моим взглядом?

Временно у меня доступен только один сервер.

Ответы [ 2 ]

3 голосов
/ 16 апреля 2019

Под каждым осколком находится полный индекс Lucene, и для того, чтобы эластичный поиск служил запросу, ему нужно будет последовательно запрашивать каждый осколок. Хотя эффект производительности будет уменьшен, если SSD используется, но все равно это снижение производительности. Обычно количество сегментов сохраняется больше, чем количество узлов в кластере, потому что позже, если вы захотите увеличить количество сегментов, вам потребуется переиндексировать все данные, что в некоторых случаях невозможно. Эта статья объясняет это хорошо.

0 голосов
/ 16 апреля 2019

Я бы сделал один осколок + одну реплику (может быть другой диск). Может быть несколько причин делать несколько осколков в зависимости от вашего использования и распределения данных - но по большей части один осколок должен подойти.

Новые версии ES поддерживают динамическое изменение на случай, если вы добавите больше серверов / данных в будущем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...