
ggrebalance: Часть 2. Планирование операции ребаланса
saltysalsaparadox только что ggrebalance: Часть 2. Планирование операции ребаланса Средний 18 мин 8 Блог компании Greengage DB Open source * Высоконагруженные системы * Распределённые системы * PostgreSQL * Обзор В...
<5 — 2026'da uzaya kaç SpaceX Starship fırlatması ulaşacak?
В сфере искусственного интеллекта произошло заметное событие. saltysalsaparadox только что ggrebalance: Часть 2. Планирование операции ребаланса Средний 18 мин 8 Блог компании Greengage DB Open source * Высоконагруженные системы * Распределённые системы * PostgreSQL * Обзор В статье рассматривается планирование ребаланса кластера Greengage DB (open-source fork Greenplum) после shrink, декомиссии и добавления хостов: формальная модель размещения primary- и mirror-сегментов, минимизация числа перемещений, сравнение точных и эвристических алгоритмов и реализация планировщика в ggrebalance2. 1 Пользовательские сценарииВ предыдущей статье была подробно рассмотрена процедура вывода подмножества сегментов из Greengage-кластера.
После перераспределения данных и остановки ненужных инстансов распределение оставшихся сегментов по хостам, вероятно, окажется неравномерным (Рис. Состояние кластера после удаления части сегментовНеравномерное распределение сегментов по хостам, при прочих равных, ведет к возможному замедлению обработки запросов: если хост sdw1 содержит 4 primary-сегмента, а sdw3 — лишь 1, то запросы на больших данных стабильно будут работать медленнее на sdw1 из-за кратно большей нагрузки I/O, CPU и кратного потребления памяти — классическая проблема MPP-хранилищ. Распределение зеркал усугубляет проблему аналогично.
Технические детали
Какая бы стратегия зеркалирования ни была выбрана изначально, перекос в распределении primary-сегментов после shrink влечет перекос в зеркалах, и при падении одного из хостов promoted-реплики еще больше ухудшают производительность всей системы. В свою очередь, равномерное расположение сегментов делает планирование ресурсов кластера более удобным и детерминированным. Благодаря единообразной структуре каждому хосту требуется одинаковый объем памяти, одинаковый диапазон портов и одинаковая емкость диска.
Упрощается работа с системами мониторинга и автоматизации. Помимо сокращения сегментов через shrink существует пара сценариев, связанных непосредственно с менеджментом хостов системы. Инженерам может потребоваться либо вывести из эксплуатации определенные хосты (декомиссия) ввиду необходимости обслуживания, замены, экономии и перераспределения ресурсов, либо добавить дополнительные, чтобы масштабировать нагрузку (Рис.
В таких случаях Greengage не перераспределяет сегменты автоматически: ни с выводимого хоста, ни на добавляемый. Добавление хостаВо всех описанных сценариях конечная цель идентична: достичь такого распределения сегментов, при котором каждый активный или вновь добавленный хост будет содержать одинаковое количество primary-сегментов и одинаковое количество реплик, сохраняя при этом выбранную топологию зеркалирования — Grouped или Spread. 2 Достижение равномерного распределения.
Формальная модель кластераПусть в кластере m хостов, n primary-сегментов и n зеркал. Обозначим множество хостов через, множества сегментов и зеркал как и соответственно.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





