Если два сайта обновляют совершенно разные таблицы, то для этого может подойти что-то вроде Dropbox.Dropbox не синхронизирует / объединяет содержимое файлов.Это означает, что если сайт A и сайт B обновили какой-либо файл, то вы должны были бы написать код для объединения изменений.
Сервер баз данных Advantage поддерживает репликацию, встроенную изначально,так что это, вероятно, будет самым простым решением.Репликация Advantage выполняется для каждой отдельной записи и обрабатывается асинхронно.Если целевая база данных не может быть достигнута, обновления сохраняются в очереди и периодически обрабатываются.Если соединение между двумя сайтами открыто / доступно постоянно, задержка между исходным обновлением и реплицированным обновлением обычно невелика, но, очевидно, зависит от пропускной способности сети и задержки.
Вы можете использовать VPN для соединения между двумя сайтами, но это не требуется.Если вы не используете какой-либо тип VPN, вы должны убедиться, что связь между двумя сайтами зашифрована (это вариант при настройке подписок).
Редактировать Длясвязь, все, что вам нужно, это "нормальное" подключение к сети.Основная проблема связана с такими вещами, как брандмауэры и NAT.С Advantage вы определяете, какой порт он использует.Если вы используете соединение TCP / IP, вам нужно убедиться, что настроенный порт разрешает входящие соединения с процессом ads.exe.Вы также можете использовать UDP, но если вы имеете дело с межсетевыми экранами, то, вероятно, будет проще с TCP.
Ваш вопрос о дубликатах ключей - хороший.Если оба сайта добавляют запись с одинаковым первичным ключом или одновременно обновляют одну и ту же запись, это приводит к конфликту.Существует возможность просто игнорировать конфликты, и в этом случае выигрывает последнее обновление.Более реалистично, вы бы хотели написать триггер ON CONFLICT для разрешения конфликтов.