Базы данных хранят данные в лесах, и данные будут распространяться везде, где есть леса. Таким образом, если у вас есть база данных с лесами на обоих хостах, она автоматически сбалансирует данные между двумя хостами. Вы можете изменить, как база данных определяет, какие данные для размещения в каком лесу, с политикой назначения, по умолчанию bucket
Нет определенных требований для восстановления баланса. Серверы приложений и леса назначаются определенным базам данных, поэтому они уже связаны.
Таким образом, данные, поступившие на сервер приложений, будут записаны в назначенную базу данных. Затем эта база данных определит, в какие леса помещать данные. Иногда это может привести к тому, что леса на одном узле кластера станут больше, чем леса на другом узле кластера, после чего база данных решит перераспределить некоторые данные в другие леса, назначенные той же базе данных, которые могут быть или не быть в одной и той же базе данных. хозяйничать.
Есть много способов улучшить пропускную способность, но вот наиболее распространенные:
- Увеличение ограниченных ресурсов для хоста. Это означает, что если вы ограничены процессором, добавьте ядра; если вы ограничены в памяти, добавьте память; и т.д.
- Увеличить количество задействованных хостов. Либо через балансировку нагрузки, либо через несколько приемных конвейеров.
Поскольку вы используете MLCP, он получит список хостов леса в кластере и по умолчанию распределит работу по кластеру. Есть несколько вариантов, см. здесь .
Чтобы увидеть, распределяется ли работа, вы можете проверить в интерфейсе администратора: Конфигурировать -> Группы -> По умолчанию -> Серверы приложений -> [Ваш Ingest Сервер приложений], Нажмите на Состояние и кнопку Показать больше . В нем должны быть перечислены все ваши хосты и количество запросов, обслуживаемых каждым хостом в кластере. Если номера одного хоста значительно выше, чем у других хостов, работа может распределяться неправильно.
Как только данные будут загружены, они будут сбалансированы по лесам. Это будет не то же самое количество документов, или то же самое используемое пространство. Сервер будет решать, когда лес слишком мал или слишком велик, и соответствующим образом перемещать документы. Перебалансировка может быть ресурсоемкой, поэтому сервер пытается взвесить стоимость оставления данных на месте по сравнению с перемещением их в другой лес.
Если вы входите в основном в один узел, вы также можете увидеть более крупные леса на этом узле, по вышеуказанной причине, что сервер взвешивает стоимость перемещения данных по сравнению с оставлением данных на месте.
Индексы также влияют на размер на диске, особенно когда существует большое разнообразие размеров документов, в некоторых лесах индексы могут быть больше, чем в других, из-за типов документов.
Существует также ряд других вещей, которые могут влиять на интервалы, используемые каждым узлом. Один - это количество удаленных фрагментов; это фрагменты, которые были помечены для удаления, но не были удалены из леса. Если в лесу наблюдается много активности загрузки, или приоритет объединения уменьшен, это может привести к тому, что некоторые леса будут немного больше других, пока у него не появится возможность объединить удаленные фрагменты.
Вы упомянули, что пытались проникнуть во все три узла, но это не сработало. Не зная, как вы принимаете данные и какую именно ошибку вы столкнулись, трудно сказать, почему она не работает для вас, но, как правило, именно так используется MarkLogic.
MarkLogic предлагает ряд бесплатных курсов, как по запросу, так и под руководством инструктора. Я предлагаю потратить несколько часов на Основы MarkLogic . Проверьте mlu.marklogic.com и список других курсов. Вы также можете ознакомиться с Руководством по MarkLogic , которое дает хороший обзор того, как работает MarkLogic.