Изменения

Перейти к: навигация, поиск

Репликация

202 байта убрано, 23:58, 26 декабря 2021
структура
|definition =
'''Репликация''' — это поддержание одинаковых данных на нескольких узлах распределенной системы.}}
'''Типы репликации'''
* Синхронная -- требует введения распределенных транзакций и гарантирует одинаковое состояние реплик.
* Асинхронная -- допускает задержки репликации на репликах.
 
'''Схемы репликации'''
* С основной копией -- запросы на запись поступают в централизованное место, а затем реплицируются
* Симметричная -- запросы на запись могут поступать в различные копии
 
== Реализация репликации ==
=== Типы репликации ===
* Синхронная — гарантирует одинаковое состояние реплик, требует введения распределенных транзакций.
* Асинхронная — допускает задержки репликации.
=== С Репликация основной копией ===
[[Файл:Replication_Master.png|300px|thumb|right|Репликация с основной копией]]
Есть одна главная копия данных, изменения из неё запросы на запись поступают только туда, а затем реплицируются на все остальные копии. За согласованность изменений отвечает главная копия. Если изменения приводят к несогласованному состоянию, то транзакция откатывается. Запросы на чтение могут быть обработаны любой репликой.
Такая реализация эффективна, если количество записей сильно меньше количества запросов чтения.
=== Симметричная репликация ===
[[Файл:Replication_Symmetric.png|300px|thumb|right|Симметричная репликация]]
Чтение и запись могут быть обработаны любой копией. При необходимости реплики могут работать автономно.
* При выходе из строя любой реплики, состояние системы не согласовано и данные потеряны.
Таким образом, синхронная репликация сложна и малонадежна. В реалньости реальности распределенные базы данных решают эту проблему лучше.
=== Рассылка изменений ===
Информация обо всех сделанных изменения изменениях содержится в журнале транзакций. Репликация достигается за счёт рассылки протоколов транзакций.Это можно сделать двумя способами:
==== Репликация операторов ====
Анонимный участник

Навигация