Объединение коллекций, разделенных на несколько осколков


Краткий обзор настройки:

5 экземпляров узлов SolrCloud (Solr 4.6.1) (отдельные компьютеры).
Установка предназначена для хранения журналов веб-приложений за последние 48 часов (которые довольно интенсивны... ~ 3 МБ/с).

Коллекция "logs" состоит из 5 сегментов (по одному на экземпляр узла).
Одна строка журнала представляет собой один документ коллекции "logs".


Если я продолжаю хранить документы журналов в этой коллекции «журналов», ядра в сегментах начинают становиться очень большими, а графики ЦП показывают, что экземпляры тратят все больше и больше времени на ожидание дискового ввода-вывода.

Итак, моя идея состоит в том, чтобы создавать новую коллекцию каждые 15 минут и называть ее «logs-201402051400» с осколками, распределенными по 5 экземплярам. Авторы документов начнут запись в новую коллекцию, как только она будет создана. Когда-нибудь я получу такой список коллекции:

...
журналы-201402051400
журналы-201402051415
журналы-201402051430
журналы-201402051445
журналы-201402051500
...

Поскольку в какой-то определенный период времени в SolrCloud будет максимум 192 коллекции (~ 1000 ядер). Кажется, что производительность поиска должна резко ухудшиться.

Итак, я хотел бы объединить коллекции, которые в настоящее время не записываются, в одну большую коллекцию (но все еще разбитую на 5 экземпляров). Я нашел информацию, как объединить ядра, но как мне объединить коллекции?


person Andrei P.    schedule 06.02.2014    source источник


Ответы (1)


Возможно, это НЕ полный ответ на ваш вопрос, но что-то мне подсказывает, что вам нужно переделать дизайн своей коллекции.

Это классический спор между использованием одной коллекции с несколькими осколками и несколькими коллекциями.

Я думаю, вам следует настроить единую коллекцию, а затем использовать возможности динамического сегментирования Solr Cloud (неявный маршрутизатор) для добавления новых сегментов (для более новых 15-минутных интервалов)/удаления старых сегментов (для более старых 15-минутных интервалов).

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

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

Как динамически добавлять осколки в коллекцию в solr?

person Jay    schedule 02.03.2014