alibek » 15.03.2012 (Чт) 8:37
Если постоянной связи между магазинами нет и предполагается периодическая синхронизация (репликация) БД, то все зависит от того, была ли возможность репликации изначально заложена в структуре БД или нет.
Если такая возможность была заложена изначально (использование в сущностях в качестве первичных ключей GUID или составных ключей, использование в справочниках дополнительных полей, позволяющих автоматически разрешать коллизии), то тогда это возможно. Что подразумевается под алгоритмами, мне не совсем понятно. Если возможность репликации была заложена изначально, то от того, как это сделано, нужно и исходить при репликации.
Если такой возможности не предусмотрено (например все PK являются счетчиками или int), то ничего хорошего не выйдет. Нужно либо связывать все магазины по VPN и использовать одну базу (если позволяет скорость соединения и число пользователей), либо перепроектировать базу. Костыли в виде замены счетчика на int и распределения диапазонов id между магазинами помогут мало.
Lasciate ogni speranza, voi ch'entrate.