Как управлять очень большими индексами Solr

Я пытаюсь спланировать реализацию SolrCloud, и, учитывая текущие размеры индексов по результатам тестирования, мой предполагаемый размер физического индекса для 1 миллиарда документов составляет примерно 20 терабайт. До сих пор мне не удалось найти облачный хост, поддерживающий один том такого размера. Я надеялся, что кто-нибудь может дать некоторые рекомендации относительно управления таким большим индексом. Является ли индекс размером 20 ТБ абсурдом? Есть ли что-то, что мне не хватает в отношении архитектуры SolrCloud? Большинство рекомендаций, которые я видел, указывают на то, что весь индекс, независимо от количества сегментов, должен быть реплицирован на каждой машине, чтобы гарантировать избыточность, поэтому для каждого узла потребуется устройство хранения на 20 ТБ. Если есть кто-то, кто может пролить свет, я был бы очень признателен.


person LandonC    schedule 15.06.2015    source источник


Ответы (1)


Не знаете, где вы прочитали такие рекомендации?

Совершенно нормально хранить только часть индекса в каждом сегменте (каждый сегмент имеет один мастер и несколько реплик).

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

Редактировать: если я правильно понимаю, вы предполагаете, что каждый узел в кластере должен иметь либо мастер, либо реплику КАЖДОГО осколка, правильно? Если да, то нет. Чтобы обеспечить отказоустойчивость, вам нужно иметь мастер/реплики каждого сегмента где-то в кластере, но вы можете иметь узел N, который не содержит ничего из шарда S, если у S есть мастер и реплика (по крайней мере ) в других узлах.

person Persimmonium    schedule 16.06.2015
comment
Не думаю, что я ясно выразился. Я понимаю, что индекс разбит на осколки. Я хочу сказать, что каждый из этих осколков становится избыточным, поскольку он доступен на разных машинах. Если у меня есть один индекс, разбитый на 4 осколка, и у меня есть 3 узла в моем кластере, каждый из 3 узлов имеет либо мастер, либо реплику 4 осколков. Таким образом, технически каждый узел имеет доступ ко всему индексу, независимо от количества осколков. Если на машине нет ни мастера, ни реплики шарда, вы потеряли отказоустойчивость, верно? - person LandonC; 16.06.2015
comment
@LandonC попытался ответить на ваш вопрос в редактировании - person Persimmonium; 16.06.2015
comment
Я полностью понимаю ваше редактирование, и именно об этом я и спрашивал: как люди обрабатывают индексы такого размера? Я тщательно изучил SolrCloud и знаю, что вам необходимо иметь полный индекс для каждого узла. Я пытался определить, каковы общие практики. Если вы погуглите SolrCloud, на каждой найденной диаграмме будет указана стандартная настройка, о которой я упоминал: полная репликация всех сегментов на каждом узле. Я пытался почувствовать архитектуру реального мира людей, выходящую за рамки стандарта. - person LandonC; 16.06.2015
comment
Я предполагаю, что вы видите побочный эффект выбора очень простого (2/3 узла 2/3 осколка) примера для рисования диаграмм для пояснения... - person Persimmonium; 17.06.2015