Модель согласованности: различия между версиями
[непроверенная версия] | [непроверенная версия] |
Нет описания правки |
Нет описания правки |
||
(не показана 31 промежуточная версия 19 участников) | |||
Строка 1: | Строка 1: | ||
{{перенести|согласованность данных}} |
|||
В [[Распределенная система|распределенной системе]], такой как |
|||
'''Модель согласованности''' — подход, используемый в той или иной [[Распределённая система|распределённой системе]] ({{iw|распределённая общая память|распределённой общей памяти|en|Distributed shared memory}}, [[СУБД]], [[файловая система|файловой системе]]), для обеспечения гарантий [[Согласованность данных|согласованности данных]]. |
|||
[[Распределенная общая память|распределенная общая память]] или распределенном хранилище, таком как [[База данных|база данных]], [[Файловая система|файловая система]], web caching или optimistic replication существуют разнообразные '''модели консистентности данных'''. |
|||
⚫ | |||
'''Модель консистентности''' представляет собой некоторый договор между программами и памятью, в котором указывается, что при соблюдении программами определенных правил работа модуля памяти будет корректной, если же требования к программе будут нарушены, то память не гарантирует правильность выполнения операций чтения/записи. |
|||
⚫ | |||
⚫ | |||
⚫ | |||
* {{нп2|PRAM-согласованность||en|PRAM consistency}} |
|||
* {{нп2|процессорная согласованность||en|processor consistency}} |
|||
* {{нп2|слабая согласованность||en|weak consistency}} |
|||
* [[согласованность в конечном счёте]] ({{lang-en|eventual consistency}}) |
|||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
Линеаризуемые программы применяются для систем с объектной организацией [[Разделяемая память|общей памяти]]. В отличие от всех остальных систем, такие программы не могут напрямую использовать общие переменные (состояние объектов), а только через специальные функции-методы (операции). Для этих систем линеаризуемость совпадает со строгой согласованностью. |
|||
⚫ | |||
⚫ | |||
⚫ | |||
* PRAM консистентность ({{lang-en|PRAM consistency}}) |
|||
* Процессорная консистентность ({{lang-en|processor consistency}}) |
|||
* Слабая консистентность ({{lang-en|weak consistency}}) |
|||
⚫ | |||
⚫ | |||
== Литература == |
|||
⚫ | |||
* {{книга |
|||
| автор = Kshemkalyani, A.D. and Singhal, M. |
|||
| заглавие = Distributed Computing: Principles, Algorithms, and Systems |
|||
| издательство = Cambridge University Press |
|||
| год = 2011 |
|||
| allpages = |
|||
| isbn = 9781139470315 |
|||
| ref = Kshemkalyani, Singhal |
|||
}} |
|||
== Ссылки == |
== Ссылки == |
||
* Крюков В.А. |
* Крюков В. А. Курс лекций «Распределенные ОС» [http://parallel.ru/krukov/lec6.html 6. Распределенная общая память] |
||
* [http://cs.gmu.edu/cne/modules/dsm/green/memcohe.html Consistency Models] |
|||
{{нет ссылок|дата=2016-11-13}} |
|||
[[en:Consistency model]] |
|||
{{IPC}} |
|||
[[fr:Cohérence (données)]] |
|||
{{Параллельные вычисления}} |
|||
[[Категория:Теоретические основы баз данных]] |
|||
[[Категория:Архитектура распределённых вычислений]] |
|||
[[Категория:Управление памятью]] |
Текущая версия от 11:17, 6 августа 2024
Необходимо перенести содержимое этой статьи в статью согласованность данных и заменить эту статью на перенаправление. |
Модель согласованности — подход, используемый в той или иной распределённой системе (распределённой общей памяти[англ.], СУБД, файловой системе), для обеспечения гарантий согласованности данных.
Основные модели согласованности:
- строгая согласованность (англ. strict consistency)
- последовательная согласованность (англ. sequential consistency)
- причинная согласованность (англ. causal consistency )
- PRAM-согласованность (англ. PRAM consistency)
- процессорная согласованность (англ. processor consistency)
- слабая согласованность (англ. weak consistency)
- согласованность в конечном счёте (англ. eventual consistency)
- согласованность по выходу (англ. release consistency)
- согласованность по входу (англ. entry consistency)
Особую роль для модели согласованности играет вопрос линеаризуемости программы, в которой вместо операций чтения и записи рассматриваются операции над объектами (например функции, процедуры), а состояние памяти в данной модели — это состояния объектов. Линеаризуемые программы применяются для систем с объектной организацией общей памяти. В отличие от всех остальных систем, такие программы не могут напрямую использовать общие переменные (состояние объектов), а только через специальные функции-методы (операции). Для этих систем линеаризуемость совпадает со строгой согласованностью.
Литература
[править | править код]- Kshemkalyani, A.D. and Singhal, M. Distributed Computing: Principles, Algorithms, and Systems. — Cambridge University Press, 2011. — ISBN 9781139470315.
Ссылки
[править | править код]- Крюков В. А. Курс лекций «Распределенные ОС» 6. Распределенная общая память
В статье не хватает ссылок на источники (см. рекомендации по поиску). |