Репликация (постановка)

Материал из GedeminWiki
(Различия между версиями)
Перейти к: навигация, поиск
(Однонаправленная репликация между двумя базами)
 
(не показаны 5 промежуточных версий 1 участника)
Строка 1: Строка 1:
 +
[[Однонаправленная репликация между двумя базами (постановка)|Однонаправленная репликация между двумя базами]].
  
 
+
[[Мультинаправленная репликация между базами (постановка)|Мультинаправленная репликация между базами]].
==== Однонаправленная репликация между двумя базами ====
+
 
+
Рассмотрим вариант однонаправленной репликации между двумя базами A и B. База B работает в режиме только для чтения. Все изменения осуществляются на базе A. Базы обмениваются между собой сообщениями. Канал связи между базами может быть непостоянным. Т.е. база A может посылать сообщения в тот момент, когда база B недоступна и наоборот. Порядок выполнения действий над объектами на базе A должен сохраняться при переносе на базу B. Транспорт передачи сообщений не гарантирует нам ни сохранности и целости конкретного сообщения, ни сохранения порядка при передаче нескольких сообщений.
+
 
+
В начальный момент времени базы данных находятся в идентичном состоянии.
+
 
+
Фиксирование изменений, произведенных в базе A, осуществляется в логе, специальной таблице. В логе фиксируется тип и идентификатор объекта, вид операции, порядковый номер изменения. Заполнение лога осуществляется с помощью системы триггеров.
+
 
+
Запись в логе находится в определенном состоянии.
+
 
+
Первоначальное состояние -- L (Logged). Записи с таким статусом считаются подготовленными к отправке.
+
 
+
Объект может быть заблокирован, состояние B (Blocked) записи в логе. В этом случае он не передается, а так как мы не можем нарушать последовательность выполнения операций на конечной базе данных, то нет смысла передавать операции после заблокированной записи. Пользователь должен быть уведомлен о том, какая именно запись вызвала остановку процедуры передачи данных.
+
 
+
  
 
[[Category:Постановка]]
 
[[Category:Постановка]]
 +
[[Category:Репликация]]

Текущая версия на 16:28, 23 августа 2009

Однонаправленная репликация между двумя базами.

Мультинаправленная репликация между базами.

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты