Ребаланс в распределённой базе данных. Как нагнать состояние узла до состояния кластера? Базы данных и системы хранения

Доклад принят в программу конференции
Владислав Пятков
GridGain

Более трёх лет работает в GridGain: начал с работы в поддержке, затем перешел в команду ядра. Занимается разработкой распределённых протоколов Apache Ignite. Также проводит много времени, изучая профили нагрузки клиентских решений.
В прошлом занимался монолитными сервисами интеграции платёжных систем в компании Forex Club.

Тезисы

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

Учитывая оба замечания, требуется процедура, которая переводит текущее состояние узла в соответствии с состоянием на кластере. В докладе будет представлена концепция исторического ребаланса, реализованная в распределенной базе данных Apache Ignite:
* когда необходим ребаланс;
* метод восстановления согласованности данных между репликами;
* проблема обработки нагрузки;
* обработка удалённых записей;
* когда объём переносимых данных можно значительно уменьшить;
* компромисс и оптимизации;
* обработка сбоев.

Другие доклады секции Базы данных и системы хранения