Механизм асинхронной репликации
Для поддержки целостности БД, входящих в системы репликации, СУБД ЛИНТЕР использует механизм асинхронного тиражирования (далее по тексту – репликации) транзакций. Его суть состоит в том, что обработка данных сначала выполняется локально, на отдельном сервере, а подлежащие репликации данные позднее копируются на те сервера, где они должны использоваться. При таком методе поддержки логической целостности БД системы репликации имеет место некоторая рассинхронизация состояния локальных БД во времени по отношению друг к другу, т.е. изменение состояния одной локальной БД отстает от изменения другой локальной БД во времени.
Если один из серверов системы репликации, требующий обновления тиражируемых данных, выходит из строя, то средства репликации СУБД ЛИНТЕР продолжают работать с остальными серверами, при этом обновление данных на вышедшем из строя сервере после его ремонта произойдет автоматически. Таким образом, ошибка на одном узле системы реплицируемых БД не влияет на работу остальных узлов.
Механизм асинхронного тиражирования транзакций гарантирует доставку измененных данных на вторичные серверы непосредственно после завершения транзакции на основном сервере, если вторичный сервер доступен, или сразу после подключения его к сети. Такой подход предполагает хранение дублирующей информации в различных узлах сети и может обеспечить, по сравнению с другими подходами к репликации, снижение трафика, улучшение времени ответа системы, а также позволяет оптимизировать нагрузку на серверы.
Асинхронная репликация, в отличие от двухфазной синхронизации, не обеспечивает полной синхронности информации на всех серверах системы репликации в любой момент времени. Синхронизация происходит через некоторый, обычно небольшой, интервал времени, величина которого определяется быстродействием соответствующего канала связи. Для большинства задач кратковременное наличие устаревших данных в удаленных узлах вполне допустимо.
Вместе с тем, асинхронная репликация транзакций принципиально обеспечивает целостность данных в системе репликации, так как объектом обмена данными здесь является логическая единица работы – транзакция, а не просто данные из измененных таблиц.