В репликации SQL с несколькими основными устройствами обычно первичные ключи определены как:
- * 1004 Идентификаторы GUID *
- int с размером приращения> количество установок
- int с фиксированным смещением
Недостатком GUID является то, что их может быть сложнее читать и они занимают немного больше места. Однако он позволяет масштабировать до n экземпляров.
С целыми числами немного легче иметь дело. У них также есть преимущество в том, что они могут легко определить, какой сервер создал запись. Недостатком является то, что вы должны либо предсказать максимальное количество баз данных, которые могут быть объединены, либо угадать максимальное количество строк, которое может вставить один экземпляр.
Пример фиксированного смещения: сайт A начинается с 0, сайт B начинается с 1 000 000, а сайт C начинается с 2 000 000. Эта схема работает нормально, пока один сайт не вставит миллион строк. Эта схема может хорошо работать для автомобилей в автосалонах, где маловероятно, что какой-либо один дилер продаст более 1 000 000 автомобилей, а у вас могут быть сотни представительств в течение срока действия приложения.