Копирование только отличий БД (diff)
Синтаксис
/diff
Описание
Активизирует копирование только отличий БД (вместо их полного копирования).
На этапе перехода компьютера в SLAVE-режим после неудачной попытки докачивания БД в инкрементном режиме необходимо
получение всей БД с главного сервера. Обычно для этого очищается каталог с наиболее старой БД, и в этот каталог начинается
полное копирование БД путем запуска утилиты lhb в startinc wait режиме. При указании данного
ключа очистка каталога с наименее актуальной БД производиться не будет. Вместо этого для этой БД будет запущена утилита
lhb c ключом /diff
, которая вместо поблочного копирования всех файлов таблиц
БД будет копировать только контрольные суммы файловых блоков и сравнивать их с контрольными суммами соответствующих блоков
локального каталога. Если контрольные суммы блоков совпадают, то их копирование не производится.
За счет этого объем переданных по сети данных может быть значительно сокращен. При быстрых файловых системах и медленных линиях связи это может дать прирост производительности в несколько раз, при условии наличия на SLAVE-сервере не очень старой БД в обоих каталогах. Т.е. данный режим применяется тогда, когда в каталоге уже есть БД. На практике это означает, что при запуске сервера резервирования с пустыми каталогами БД данный режим активируется только при третьем запуске: первый запуск заполняет пустой рабочий каталог, второй запуск – пустой резервный каталог. Исходя из этого, при больших объемах БД рекомендуется при введении нового сервера в систему разворачивать копию БД из архива в оба каталога.
Применение данного метода на медленных файловых системах и быстрых сетях не дает выигрыша в скорости, поскольку в любом случае файловый блок должен быть прочитан. Если время чтения блока является узким местом системы, то это и будет в основном определять скорость работы системы в целом. В этом случае возможно лишь небольшое улучшение производительности или даже небольшое ее ухудшение по сравнению с обычным копированием БД.
При этом если БД главного и резервного сервера совершенно различны, то использование данного режима несколько ухудшит производительность системы резервирования, поскольку, кроме копирования всех различных файловых блоков, потребуется получать их контрольные суммы. В результате суммарный трафик увеличивается.
Примечание
Работа утилиты lhb с ключом /diff
и одновременное сохранение данных
в lhb-файл невозможны, поэтому при указании ключа /mklhbarc
режим копирования только отличий
автоматически отключается.