Резервирование NGA для баз данных с поддержкой резервирования

Для баз данных, которые могут работать с избыточностью (т.е. предоставляют один виртуальный узел для связи и способны внутренне управлять записью/чтением/синхронизацией избыточных узлов базы данных), может быть использована аналогичная, но упрощенная архитектура.

ПРИМЕЧАНИЕ
Для этого обычно требуется, чтобы база данных располагалась на другом узле или на другом компьютере, чем компьютер, на котором запущен «КАСКАД Цифра».

На каждом резервированном узле «КАСКАД Цифра» требуется только один бэкэнд NGA DB, подключенный к одному и тому же виртуальному экземпляру DB. NGA на активном сервере записывает данные в БД, пассивный — буферизирует и сбрасывает буферы после их фиксации активной стороной. Такое решение очень похоже на архитектуру резервирования, используемую в менеджере RDB в «КАСКАД Цифра».

Поскольку резервная база данных может самостоятельно выполнять переключения резервирования, активный бэкенд должен иметь возможность обрабатывать прерванные транзакции (вызванные переключением резервирования базы данных) и повторять их. Это обеспечивается алгоритмом буферизации NGA, который повторяет запись в буфер до тех пор, пока операция не завершится успешно или не будет достигнут счетчик повторных попыток.

Все операции чтения (непрямые и прямые) всегда направляются на один и тот же виртуальный узел БД. Поэтому для прямых запросов нет необходимости в «обращении» к активному узлу.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *