Обзор известных механизмов репликации данных (тиражирование) 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Обзор известных механизмов репликации данных (тиражирование)



 

Распределенные вычисления - основа современной вычислительной системы. Они позволяют максимально приблизить данные и вычислительные ресурсы к их потребителям. За счет этого можно уменьшить время реакции вычислительной системы на запрос пользователей, а некоторые элементы сделать полностью автономными. Однако в распределенной вычислительной системе часто возникает проблема согласования данных, которые хранятся на различных компьютерах и в различных базах данных. Для решения этой проблемы разработчики баз данных интегрируют в СУБД специальные приложения для синхронизации разрозненных данных, которые называются механизмами тиражирования. Эти механизмы бывают нескольких типов, и каждый их них имеет свои характерные черты.

Требования к механизму тиражирования зависят от задач, которые решает вся вычислительная система в целом. Например, к механизмам тиражирования в системе заказа и продажи авиабилетов будут предъявляться совсем другие требования, чем к аналогичным механизмам в системе поддержки принятия решений для мобильных торговцев. При продаже авиабилетов, после бронирования хотя бы одного билета система должна как можно быстрее распространить эту информацию по всем своим частям. Это значит, что основным требованием к такой системе является непротиворечивость и целостность данных. Программное обеспечение для мобильных торговцев должно позволять некоторое время работать автономно, а потом синхронизировать свои данные с центральной базой данных в офисе торговца. В этом случае, возможность автономной работы важнее непротиворечивости данных. Таким образом, механизм тиражирования должен обеспечить либо целостность данных в различных частях распределенной системы, либо их автономную работу. Целостность данных и независимость от центральной СУБД и являются двумя основными характеристиками тиражирования.

Рассмотрим способы тиражирования данных, расположив их в порядке увеличения целостности данных и транзакций:

· Тиражирование слиянием (merge replication);

· Тиражирование моментального снимка (snapshot replication);

· Транзакционное тиражирование (transactional replication);

· Тиражирование с обновлением на подписчике (immediate updating subscribers);

· Распределенные транзакции (distributed transaction).

 

Причем, чем более жесткие требования к целостности данных предъявляются к СУБД, тем более надежной должна быть связь между элементами системы, что приводит к увеличению ее стоимости. Если же система рассчитана на автономную работу, то тиражирование, как правило, можно выполнять и по медленным и ненадежным каналам, например, по телефонным каналам.

Следует отметить, что почти все перечисленные методы тиражирования укладываются в единую модель «издатель-дистрибьютор-подписчик». Функции издателя выполняет центральная база данных, которая хранит основной вариант публикации: группы столбцов и строк. Для каждой публикации должен быть только один издатель. Дистрибьютор следит за изменениями данных, которые вносит издатель, и распространяет их по подписчикам. Таким

образом, каждому элементу системы достаточно иметь связь только с дистрибутором, а не со всеми другими фрагментами. Следует отметить, что при небольших объемах данных, функции издателя и дистрибутора может выполнять один компьютер. Характеристики тиражирования меняются в зависимости от организации связи между издателем и дистрибутором, а также между дистрибьютором и подписчиками. Такая модель не работает только в случае распределенных транзакций, когда любая база данных системы, прежде чем подтвердить изменение данных, должна получить разрешение от всех остальных серверов системы.

 

Тиражирование слиянием

Тиражирование слиянием обеспечивает максимальную автономность удаленной базы данных. Суть его заключается в том, что все операции выполняются на удаленном компьютере, который может быть полностью отключен от компьютерной сети. Автономная СУБД записывает все операции с данными и их очередность. Затем в определенный момент, автономный компьютер связывается с издателем и согласовывает с ним свои данные, пересылая издателю последовательность операций, произведенных в удаленной базе данных. При возникновении конфликтов они разрешаются с помощью различных алгоритмов, например, на основе приоритета. После такого слияния издатель передает изменения на сервер-дистрибутор, для дальнейшего распространения по подписчикам. Следует отметить, что для некоторых публикаций автономный сервер является издателем, поэтому он просто передает дистрибутору обновления для дальнейшего распространения.

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

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

 

 

Распределенное тиражирование.

 



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 215; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.220.160.216 (0.005 с.)