Мастер-Тур:Настройка репликации — различия между версиями
[непроверенная версия] | [непроверенная версия] |
Buentaeva (обсуждение | вклад) |
Buentaeva (обсуждение | вклад) (→Общая архитектура репликации) |
||
Строка 16: | Строка 16: | ||
'''Агент чтения журналов''' выполняется на '''распространителе'''; обычно он выполняется непрерывно, но может также запускаться согласно задаваемому расписанию. При выполнении '''агент чтения журнала''' сначала читает журнал транзакций публикации (обычный журнал транзакций базы данных) и выявляет все инструкции '''INSERT''', '''UPDATE''' и '''DELETE''' или другие изменения данных в транзакциях, отмеченных для репликации. Далее '''агент''' копирует эти транзакции в пакетах в базу данных '''распространителя''' на стороне распространителя. <br> | '''Агент чтения журналов''' выполняется на '''распространителе'''; обычно он выполняется непрерывно, но может также запускаться согласно задаваемому расписанию. При выполнении '''агент чтения журнала''' сначала читает журнал транзакций публикации (обычный журнал транзакций базы данных) и выявляет все инструкции '''INSERT''', '''UPDATE''' и '''DELETE''' или другие изменения данных в транзакциях, отмеченных для репликации. Далее '''агент''' копирует эти транзакции в пакетах в базу данных '''распространителя''' на стороне распространителя. <br> | ||
''Команды транзакций'' хранятся в базе данных распространителя до тех пор, пока они не будут распространены на все подписчики или пока не закончится максимальный срок хранения на распространителе. '''Подписчики''' получают транзакции в том же порядке, в котором они применялись на издателе. <br> | ''Команды транзакций'' хранятся в базе данных распространителя до тех пор, пока они не будут распространены на все подписчики или пока не закончится максимальный срок хранения на распространителе. '''Подписчики''' получают транзакции в том же порядке, в котором они применялись на издателе. <br> | ||
− | '''Агент распространителя''' запускается на '''распространителе'''. Агент применяет транзакции из базы данных распространителя к подписчику. | + | '''Агент распространителя''' запускается на '''распространителе'''. '''Агент''' применяет транзакции из базы данных распространителя к подписчику. |
− | |||
− | |||
+ | ==Настройки таблицы SystemSettings== | ||
+ | При прогоне скрипта создания публикации изменяются настройки в таблице SystemSettings: <br> | ||
+ | [[Файл:tb132.png|Скрипт создания публикации]]<br> | ||
+ | Эти настройки влияют на работу хранимых процедур mwIsPublisher() и mwIsSubscriber() и на логику других хранимых процедур, использующих эти процедуры. | ||
[[Category:Мастер-Тур_Администрирование]] | [[Category:Мастер-Тур_Администрирование]] |
Версия 16:11, 12 марта 2012
Общая архитектура репликации
Репликация представляет собой набор технологий копирования и распространения данных и объектов баз данных между базами данных.
Существует несколько видов репликации:
- Моментальных снимков
- Транзакций
- Слиянием
Компания Мегатек использует репликацию транзакций. Её схема представлена на рисунке:
Инфраструктура состоит из 3 блоков:
- Издатель
- Распространитель
- Подписчик
Репликация транзакций реализуется агентом моментальных снимков, агентом чтения журналов и агентом распространителя.
Прежде чем новый подписчик репликации транзакций сможет получить добавочные изменения от издателя, на подписчике должны находиться таблицы со схемой и данными, совпадающими со схемой и данными в таблицах на издателе. Исходный набор данных обычно является моментальным снимком, созданным агентом моментальных снимков. Исходный набор данных может также предоставляться через резервную копию или другим способом.
Агент моментальных снимков готовит файлы моментальных снимков, содержащие схему, данные публикуемых таблиц и объекты базы данных, хранит файлы в папке моментальных снимков и записывает задания синхронизации в базу данных распространителя на распространителе.
Агент чтения журналов выполняется на распространителе; обычно он выполняется непрерывно, но может также запускаться согласно задаваемому расписанию. При выполнении агент чтения журнала сначала читает журнал транзакций публикации (обычный журнал транзакций базы данных) и выявляет все инструкции INSERT, UPDATE и DELETE или другие изменения данных в транзакциях, отмеченных для репликации. Далее агент копирует эти транзакции в пакетах в базу данных распространителя на стороне распространителя.
Команды транзакций хранятся в базе данных распространителя до тех пор, пока они не будут распространены на все подписчики или пока не закончится максимальный срок хранения на распространителе. Подписчики получают транзакции в том же порядке, в котором они применялись на издателе.
Агент распространителя запускается на распространителе. Агент применяет транзакции из базы данных распространителя к подписчику.
Настройки таблицы SystemSettings
При прогоне скрипта создания публикации изменяются настройки в таблице SystemSettings:
Эти настройки влияют на работу хранимых процедур mwIsPublisher() и mwIsSubscriber() и на логику других хранимых процедур, использующих эти процедуры.