Только что впервые прочитав ваш первоначальный вопрос, связанный с этим, я бы сказал, что вы, возможно, заложили основу для решения проблемы просто потому, что вы общаетесь с базой данных через веб-сервис.
Этот веб-сервис вполне может быть благодатью, поскольку он позволяет вам разделять сообщения, не влияя на клиента.
Давным-давно я занимался проектированием именно такой системы.
Первое, что мы определили, это те данные, которые редко меняются - и сразу же заблокировали все это для рассмотрения. Ручной процесс администрирования с использованием веб-сервера был единственным способом изменить эти данные.
Вторым, что мы определили, были данные, которые должны принадлежать локально. Под этим я подразумеваю данные, которые нужно обновлять только одному человеку или месту за раз; но это может потребоваться для просмотра в других местах. Мы исправили все ключи в связанных таблицах, чтобы гарантировать, что дублирование никогда не произойдет и что не будут использоваться автоматически увеличивающиеся поля.
Третий пункт - это таблицы, которые действительно были разделены - и хотя мы очень беспокоились об этом на этапах 1 и 2 - в нашем случае эта часть была простой.
Когда я говорю здесь о сервере, я имею в виду сервер БД с набором веб-сервисов, которые взаимодействуют между собой.
Как и предполагалось, наша архитектура имела 1 назначенный «главный» сервер. Это было решающее значение для разрешения конфликтов.
Остальные серверы были в первую очередь большим кешем всего, что покрыто item1. На самом деле это был не большой кеш, а дублирование базы данных, но вы поняли.
Вторая функция каждого неосновного сервера заключалась в координации изменений с ведущим. Это включало очень упрощенный процесс фактической прозрачной передачи большей части работы на главный сервер.
Мы потратили много времени на разработку и оптимизацию всего вышеперечисленного - чтобы, наконец, обнаружить, что единственное наилучшее улучшение производительности достигается за счет простого сжатия запросов веб-службы для уменьшения пропускной способности (но это было по одному каналу ISDN, что, вероятно, самая большая разница).
Дело в том, что если у вас есть веб-служба, это даст вам большую гибкость в отношении того, как вы реализуете это.
Вероятно, я бы начал с изучения возможности реализации одного из методов репликации SQL-сервера
Применяются обычные заявления об отказе от ответственности: