Общее описание спроектированной схемы репликации
Согласно варианту предположим, что ЦБД расположена на сервере, а ПБД расположены у клиентов.
Примем, что в первоначальном состоянии ЦБД и ПБД абсолютно идентичны.
Через некоторое время после начала работы, сервер закрывает клиентам доступ к их ПБД. Далее с ПБД отправляются на сервер Журналы транзакций. Сервер применяет изменения на ЦБД. После этого происходит синхронизация ЦБД и всех ПБД.
1) Отключаем клиентов от их Побочным БД.
2) Клиенты отправляют журналы транзакций на Центральной БД.
3) Объединяем все журналов транзакций в один.
4) Обрабатываем общий журнал транзакций.
5) Применение полученные результаты к Центральной БД.
6) Отправляем результирующий журнал клиентам.
7) Применяем журнал к Побочным БД.
8) Очищаем клиентские журналоы транзакций.
9) Открываем доступ клиентов к их Побочным БД.
Изначально бд состоит из трех одинаковых таблиц:
Дата/Время |
Содержимое таблицы |
Идентификация изменения |
20.12.15 / 19-45 |
Колесо |
начальные данные |
20.12.15 / 18-15 |
Диск |
начальные данные |
21.12.15 / 10-21 |
Окно |
начальные данные |
Эта база сохранена в ЦБД, а так же отправлена двум клиентам в виде ПБД, для изменения.
Клиенты имеют номера "id1" и "id2".
Таблицы в БД называются "Таблица_1" "Таблица_2" и "Таблица_3".
За время ожидания Репликатора первый клиент внес изменения в свою Побочную БД так, что она стала выглядеть следующим образом:
Таблица_1
Дата/Время |
Содержимое таблицы |
Идентификация изменения |
25.12.15 / 12-48 |
Стол |
обновление |
20.12.15 / 18-15 |
Диск |
начальные данные |
21.12.15 / 10-21 |
Окно |
начальные данные |
Таблица_2
Дата/Время |
Содержимое таблицы |
Идентификация изменения |
20.12.15 / 18-45 |
Диск |
начальные данные |
21.12.15 / 10-21 |
Окно |
начальные данные |
Таблица_3
Дата/Время |
Содержимое таблицы |
Идентификация изменения |
25.12.15 / 12-46 |
Приставка |
вставка |
Журнал транзакций:
Дата и время изменения |
Изменяемая таблица |
Тип |
Данные до изменений |
Данные после изменений |
Клиент внесший изменения |
||||||
25.12.15 /12-45 |
tabel_3 |
удаление |
|
- |
id1 |
||||||
25.12.15 /12-46 |
Таблица_3 |
удаление |
|
- |
id1 |
||||||
25.12.15 /12-46 |
Таблица_3 |
удаление |
|
- |
id1 |
||||||
25.12.15 /12-46 |
Таблица_3 |
вставка |
- |
|
id1 |
||||||
25.12.15 /12-47 |
Таблица_2 |
удаление |
|
- |
id1 |
||||||
25.12.15 /12-48 |
Таблица_1 |
обновление |
|
|
id1 |