|
Программирование >> Программирование баз данных
необходимо прежде всего обеспечить повышение степени автономности отдельных узлов. А в других ситуаци51х важнее всего свести к минимуму время задержки. Еще раз отметим, что публикацией в системе репликации называется фрагмент данных, подлежащий распространению с помощью этой системы. Этот фрагмент данных может иметь величину вплоть до отдельной базы данных. Данные, поступающие в базу данных подпиечика, могут не сводиться к одной публикации, а включать в себя несколько разных публикаций. Кроме того, в базу данных подписчика могут поступать публикации из нескольких источников, к которым могут относиться и распределители, и издатели. Репликация снимков в модели с репликацией снимков процесс распространения данных начинается с того, что формируется так называемый снимок- копия всех исходных данных, предназначенных для репликации (рис. 20.2). Эти данные предназначены для замены данных в базе данных назначения. Издатель/распределитель Данные снимка Подписчик Подписчик Рис. 20.2. Схема функционирования системы репликации снимков Репликация снимков, в своей простейшей форме, представляет собой тип репликации, обеспечивающий наиболее легкую установку и настройку. В ходе репликации в базы данных подписчиков записываются целые таблицы или секции таблиц (если таблицы являются секционированными). Очевидно, что при этом обновления происходят периодически, поэтому для обеспечения репликации чаще всего затрачивается минимальный объем ресурсов сервера или сети. Репликация снимков часто используется для обновления предназначенных только для чтения таблиц в базах данных подписчиков. Такая модель репликации способствует достижению высокой степени автономности подписчиков, но за счет относительно большого времени задержки. Кроме того, репликация снимков позволяет обеспечить надежный контроль над тем, когда происходят периодические обновления. Это означает, что обновления могут быть запланированы на тот период, когда нагрузка сети и серверов является минимальной (при таком способе репликации можно даже отказаться от передачи данных по сети и организовать физическую доставку снимков с помощью жестких дисков или других сменных носителей). Но при использовании этой модели репликации необходимо следить за тем, чтобы отведенное время и выделенные ресурсы позволяли своевременно завершать репликацию в течение каждого периодического обновления. Следует также учитывать, что по мере увеличения объема данных в исходных таблицах возрастает количество данных, передаваемых при каждом обновлении. В связи с этим со временем может возникнуть необходимость либо перейти на другой тип репликации, либо секционировать таблицу для уменьшения количества данных, передаваемых в ходе репликации, чтобы иметь возможность своевременно доставлять все необходимые данные. Одним из вариантов репликации снимков является репликация снимков с немедленным обновлением базы данных подписчика. Эта модель обеспечивает внесение изменений в данные базы данных подписчика. При этом изменения периодически передаются в базу данных издателя, а в одной из разновидностей предусматривается безотлагательное обновление, и в этом случае применяются распределенные транзакции, выполняемые в режиме реального времени. Принципы, по которым организована репликация снимков Для осуществления репликации применяются агенты репликации. Каждый агент по существу представляет собой отдельную, небольшую, независимую программу, которая обеспечивает контроль хода выполнения транзакций и распределение данных в соответствии с правилами, установленными для агента данного конкретного типа. Агент подготовки снимков Агент подготовки снимков (Snapshot Agent) обеспечивает репликацию снимков и начальную синхронизацию таблиц данных в целях поддержки всех типов репликации (в которых для синхронизации данных, впервые вводимых в систему репликации, используются снимки). Во всех моделях репликации требуется, чтобы до начала процесса репликации все таблицы источника и назначения были синхронизированы либо с применением агентов репликации, либо вручную. Кроме того, агент подготовки снимков во всех моделях репликации выполняет одни и те же функции: создает снимок опубликованных данных и сохраняет полученные файлы в базе данньгх распределителя. Агент распределения AiCHT распределения (Distribution Agent) используется для передачи данных, предназначенных для начальной синхронизации и реп.т1икации снимков (а также, как будет описано ниже, для транзакционной репликации), из базы данных издателя в базу (базы) данных подписчика (подписчиков). Если применяется push-подписка, то программа агента распределения обычно эксплуатируется на том же компьютере, где находится база данньгх распределителя. А при использовании pull-подписок программа агента распределения обычно работает на компьютере подписчика. Фактическое местоположение программы агента распределения может быть задано пользователем путем внесения изменений в конфигурацию с помощью программы Management Studio или средств RMO. Процесс репликации снимков При репликации снимков используются периодические обновления (периодичность проведения обновлений устанавливается пользователем, но, вообще говоря, для обеспечения регулярной обработки снимков необходимо запланировать задание в программе менеджера заданий). Во время обновлений создаются файлы с информацией о схемах и файлы данных, которые затем передаются подписчикам. Рассмотрим поэтапно основную процедуру (рис. 20.3). Издатель Опубликованные данные Снимок Распределитель Агент подготовки снимков Снимок Подписчик Снимок Подписчик Рис. 20.3. Процесс репликации снил1К0в 1. Программа агента подготовки снимков устанавливает разделяемую блокировку на всех статьях публикации, которая подлежит репликации, что позволяет обеспечить согласованность данных. 2. Копия схемы таблицы для каждой статьи записывается в рабочий каталог распределения на компьютере распределителя. 3. В каталог снимков записывается копия снимка, полученного по данным таблицы. 4. Программа агента подготовки снимков снимает разделяемые блокировки со статей публикации. 5. Агент распределения создает таблицы назначения и объекты базы данных, такие как индексы, в базе данных подписчика и копирует в эту базу данные снимка, перекрывая содержимое существующих таблиц, если таковые имеются. Если базы данных всех подписчиков представляют собой базы данных Microsoft SQL Server, то данные снимка сохраняются в виде файла ВСР в собственном формате. Если же поддерживаются разнородные источники данных (включая базы данных, отличные от SQL Server), то вместо файлов ВСР для СУБД SQL Server создаются файлы в текстовом формате.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |