Модель согласованности

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая Oleg4280 (обсуждение | вклад) в 18:40, 31 декабря 2017 (iw). Она может серьёзно отличаться от текущей версии.
Перейти к навигации Перейти к поиску

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

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

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

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

Литература

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

Ссылки