Я пытаюсь реализовать двунаправленную синхронизацию с несколькими мастерами для одного центрального узла и многих клиентов с помощью SymmetricDS. Клиенты общаются только с центральным узлом (звездообразная топология). У меня проблема с конфликтами в первичных ключах.
Например, база данных содержит таблицу «человек» с идентификатором столбца, именем, ... В центральной базе данных у меня есть строки:
- ааа
- BBB
- ccc
Первый клиент подключается и загружает начальную нагрузку, поэтому у него такая же база данных. Второй клиент делает то же самое.
Теперь первый и второй клиенты создают новую строку в своей локальной базе данных. Первый:
- ааа
- BBB
- ccc
- ддд
Второй:
- ааа
- BBB
- ccc
- эээ
Они попытаются выполнить синхронизацию, но в 4. строке возник конфликт. Этот конфликт можно легко обнаружить в SymmetricDS, но теперь я хочу разрешить его, увеличивая ключ до тех пор, пока он не будет вставлен, а затем отправить изменения обратно клиентам ... Итак, результат будет:
- ааа
- BBB
- ccc
- ддд
- эээ
в каждой базе данных. Как это сделать? Спасибо.