Модель согласованности: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[отпатрулированная версия][отпатрулированная версия]
Содержимое удалено Содержимое добавлено
iw
{{IPC}} {{Параллельные вычисления}}
Строка 32: Строка 32:


{{нет ссылок|дата=2016-11-13}}
{{нет ссылок|дата=2016-11-13}}
{{IPC}}
{{Параллельные вычисления}}


[[Категория:Теоретические основы баз данных]]
[[Категория:Теоретические основы баз данных]]

Версия от 18:53, 31 декабря 2017

В распределённой системе, такой как распределённая общая память[англ.] или распределённом хранилище, таком как база данных, файловая система, кэширование или оптимистичная репликация существуют разнообразные модели непротиворечивости данных.

Модель консистентности представляет собой некоторый договор между программами и памятью, в котором указывается, что при соблюдении программами определённых правил работа модуля памяти будет корректной, если же требования к программе будут нарушены, то память не гарантирует правильность выполнения операций чтения/записи.

Основные модели консистентности:

Отдельно выделим модель линеаризуемости (англ. linearizability) программы, в которой вместо операций чтения/записи рассматриваются операции над объектами (например функции, процедуры), а состояние памяти в данной модели — это состояния объектов. Эта модель используется для систем с объектной организацией общей памяти. В отличие от всех остальных систем, здесь программы не могут напрямую использовать общие переменные (состояние объектов), а только через специальные функции-методы (операции). Для этих систем линеаризуемость совпадает со строгой консистентностью.

Литература

  • Kshemkalyani, A.D. and Singhal, M. Distributed Computing: Principles, Algorithms, and Systems. — Cambridge University Press, 2011. — ISBN 9781139470315.

Ссылки