- Изменить сегмент для distributed таблицы, чтобы запись преимущественно направлялась в новый сегмент. Это потенциально может вызвать дисбаланс нагрузки и горячие точки в кластере, но в большинстве сценариев, где пропускная способность записи не слишком высока, такой подход вполне применим. Пользователю не нужно менять цель записи, то есть ею по-прежнему может оставаться distributed таблица. При этом существующие данные такой способ не перебалансирует.
- В качестве альтернативы варианту (1) измените существующий кластер и записывайте данные только в новый сегмент, пока кластер не будет сбалансирован, — то есть вручную регулируя распределение записи. У этого подхода те же ограничения, что и у (1).
- Если вам нужно перебалансировать существующие данные и они разбиты на партиции, рассмотрите возможность отсоединить партиции и вручную перенести их на другой узел перед повторным присоединением к новому сегменту. Это более трудоемкий процесс, чем последующие техники, но он может оказаться быстрее и потребовать меньше ресурсов. Это ручная операция, поэтому распределение данных нужно продумать заранее.
- Экспортируйте данные из исходного кластера в новый кластер с помощью INSERT FROM SELECT. На очень больших наборах данных этот подход не будет производительным и потенциально приведет к значительной нагрузке на ввод-вывод в исходном кластере, а также к существенному расходу сетевых ресурсов. Это крайняя мера.
Перебалансировка данных
ClickHouse не поддерживает автоматическую перебалансировку сегментов, поэтому мы приводим несколько рекомендаций по их перебалансировке.
ClickHouse не поддерживает автоматическую перебалансировку сегментов. Однако есть несколько способов перебалансировать сегменты в порядке предпочтительности:
Последнее изменение 12 июня 2026 г.