Изменения

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

Распределенные базы данных. Цели и проблемы

855 байт добавлено, 02:46, 27 декабря 2021
Нет описания правки
Eventual consistency нужен для того, чтобы была гарантия, что мы узнаем обо всех изменениях после применения протокола объединения при восстановлении оборванной связи.<br>
Последние два свойства нужны для того, чтоб при восстановлении связи система постепенно (не мгновенно) приходила в согласованное состояние.<br>
 
Этот подход возможно реализовать в реальном мире.<br>
=== Разрешение несогласованности ===
Можно, например, с помощью меток времени или векторных часов.<br>
Если разрешать при чтении, то замедляется чтение.<br>
Можем узнавать, не появилось ли на каком-то удаленном узле изменение наших данных, о котором он еще не успел сообщить, что небыстро.<br>
 
При записи - замедляется запись.<br>
Можем запрещать изменять удаленные данные в случае разрыва соединения, но локальные изменять свободно.<br>
 
Может быть отдельный асинхронный процесс, приводящий систему к согласованию, но это тоже ресурсы.<br>
Будет честно запрашивать изменения, объединять их и доносить новое состояние до всех узлов БД.<br>
 
 
Итого, у нас будет несколько изменений, которые нужно как-то объединить.<br>
Можно, например, с помощью меток времени или векторных часов.<br>
=== Оптимизация вопросов ===
101
правка

Навигация