Причинна узгодженість (англ. causal consistency ) — модель узгодженості, яка не потрибує, щоб всі процеси бачили однакову послідовність записів у пам'яті. Вона розрізняє потенційно залежні (запис однієї комірки може залежати від результату читання іншої) та потенційно незалежні (паралельними) операції запису.
Система забезпечує причинну узгодженість, якщо операції з пам'яттю, потенційно причинно пов'язані, розглядаються всіма вузлами системи у тому ж порядку. Одночасні операції запису (тобто ті, які причинно не пов'язані) можуть розглядатися в різному порядку різними вузлами.
Відносини причинності між операціями (подіями) для систем із [en] визначаються так :
- Локальний причинно-наслідковий порядок - порядок визначається послідовністю операцій читання та запису на вузлі.
- Міжпроцесний причинно-наслідковий порядок - операція запису причинно передує операції читання на іншому вузлі, якщо читання повертає записане, за допомогою цієї операції запису.
- Транзитивність - якщо операція А причинно слідує за B, а B за C, то А знаходиться в порядку причинності перед C.
Модель причинної узгодженості є слабшою за модель послідовної узгодженості, яка гарантує, що всі процеси спостерігатимуть усі операції запису в спільному порядку, незалежно від причинно-наслідкового зв'язку. Водночас, причинна узгодженість є сильнішою за модель PRAM-узгодженості, яка вимагає лише того, щоб операції запису, виконані одним процесом, спостерігались у спільному порядку кожним іншим процесом.
З цього випливає, що якщо система послідовно узгоджена, то вона також причинно узгоджена. Додатково, причинна узгодженість означає PRAM-узгодженість, але не навпаки.
Причинна узгодженість забезпечує доступність в розділі (shared nothing, sharding) - тобто процеси можуть працювати навіть за відсутності мережевого з'єднання, і вони асинхронні (немає умовно-глобального годинника для синхронізації).
Концепція причинної узгодженості з'явилася в 1990-х роках як слабша модель узгодженості для моделей із спільною пам'яттю. Вона тісно пов'язана з поняттям причинного мовлення в комунікаційних протоколах. У цих моделях розподілене виконання представляється як частковий порядок, що базується на концепції Леслі Лампорта про "потенційну причинність".
Оскільки час і порядок є фундаментальними для нашої інтуїції, то складно проєктувати системи, які не забезпечують причинну узгодженість. Проте багато розподілених баз даних не гарантують її, навіть ті, що забезпечують серіалізованість. Spanner забезпечує причинну узгодженість, але також вимагає сильної узгодженості, що ставить під загрозу доступність у випадку розділення. Деякі високо-доступні бази даних, що забезпечують причинну узгодженість це MongoDB та AntidoteDB.
Переваги та недоліки
Причинна узгодженість враховує причинно-наслідкові зв'язки між операціями та гарантує, що кожен вузол бачить операції у заданому порядку. Причинна узгодженість також робить програмування простіше, усуваючи необхідність розглядати операції, що не відносяться до справи
- доступність - навіть при розділенні мережі.
- асинхронність
- відповідність інтуїції щодо уявлення про час.
Тим не менш, у причинної узгодженості є таки недоліки
- Фіксація лише видимої (локальної) причини
- Складність забезпечення глобальних інваріантів.
- Складність при необхідності враховувати одночасні записи, конфлікти.
Примітки
- Одинцов И. О. Профессиональное программировании. Системный подход. — 2-е. — СПб. : БХВ-Петербург, 2004. — С. 520—521.
- Kshemkalyani, Singhal, 2011, 12.2.3 Causal consistency.
- Birman, Kenneth P.; Joseph, Thomas A. (5 січня 1987). Reliable communication in the presence of failures. ACM Transactions on Computer Systems (англ.). Т. 5, № 1. с. 47—76. doi:10.1145/7351.7478. ISSN 0734-2071. Процитовано 24 березня 2024.
- Wyatt Lloyd, Michael J. Freedman, Michael Kaminsky, David G. Andersen. A Short Primer on Causal Consistency ;login: The USENIX Magazine, Vol 38, Number 4, August 2013. https://www.usenix.org/system/files/login/articles/08_lloyd_41-43_online.pdf
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Prichinna uzgodzhenist angl causal consistency model uzgodzhenosti yaka ne potribuye shob vsi procesi bachili odnakovu poslidovnist zapisiv u pam yati Vona rozriznyaye potencijno zalezhni zapis odniyeyi komirki mozhe zalezhati vid rezultatu chitannya inshoyi ta potencijno nezalezhni paralelnimi operaciyi zapisu Sistema zabezpechuye prichinnu uzgodzhenist yaksho operaciyi z pam yattyu potencijno prichinno pov yazani rozglyadayutsya vsima vuzlami sistemi u tomu zh poryadku Odnochasni operaciyi zapisu tobto ti yaki prichinno ne pov yazani mozhut rozglyadatisya v riznomu poryadku riznimi vuzlami Vidnosini prichinnosti mizh operaciyami podiyami dlya sistem iz en viznachayutsya tak Lokalnij prichinno naslidkovij poryadok poryadok viznachayetsya poslidovnistyu operacij chitannya ta zapisu na vuzli Mizhprocesnij prichinno naslidkovij poryadok operaciya zapisu prichinno pereduye operaciyi chitannya na inshomu vuzli yaksho chitannya povertaye zapisane za dopomogoyu ciyeyi operaciyi zapisu Tranzitivnist yaksho operaciya A prichinno sliduye za B a B za C to A znahoditsya v poryadku prichinnosti pered C Model prichinnoyi uzgodzhenosti ye slabshoyu za model poslidovnoyi uzgodzhenosti yaka garantuye sho vsi procesi sposterigatimut usi operaciyi zapisu v spilnomu poryadku nezalezhno vid prichinno naslidkovogo zv yazku Vodnochas prichinna uzgodzhenist ye silnishoyu za model PRAM uzgodzhenosti yaka vimagaye lishe togo shob operaciyi zapisu vikonani odnim procesom sposterigalis u spilnomu poryadku kozhnim inshim procesom Z cogo viplivaye sho yaksho sistema poslidovno uzgodzhena to vona takozh prichinno uzgodzhena Dodatkovo prichinna uzgodzhenist oznachaye PRAM uzgodzhenist ale ne navpaki Prichinna uzgodzhenist zabezpechuye dostupnist v rozdili shared nothing sharding tobto procesi mozhut pracyuvati navit za vidsutnosti merezhevogo z yednannya i voni asinhronni nemaye umovno globalnogo godinnika dlya sinhronizaciyi Koncepciya prichinnoyi uzgodzhenosti z yavilasya v 1990 h rokah yak slabsha model uzgodzhenosti dlya modelej iz spilnoyu pam yattyu Vona tisno pov yazana z ponyattyam prichinnogo movlennya v komunikacijnih protokolah U cih modelyah rozpodilene vikonannya predstavlyayetsya yak chastkovij poryadok sho bazuyetsya na koncepciyi Lesli Lamporta pro potencijnu prichinnist Oskilki chas i poryadok ye fundamentalnimi dlya nashoyi intuyiciyi to skladno proyektuvati sistemi yaki ne zabezpechuyut prichinnu uzgodzhenist Prote bagato rozpodilenih baz danih ne garantuyut yiyi navit ti sho zabezpechuyut serializovanist Spanner zabezpechuye prichinnu uzgodzhenist ale takozh vimagaye silnoyi uzgodzhenosti sho stavit pid zagrozu dostupnist u vipadku rozdilennya Deyaki visoko dostupni bazi danih sho zabezpechuyut prichinnu uzgodzhenist ce MongoDB ta AntidoteDB Perevagi ta nedolikiPrichinna uzgodzhenist vrahovuye prichinno naslidkovi zv yazki mizh operaciyami ta garantuye sho kozhen vuzol bachit operaciyi u zadanomu poryadku Prichinna uzgodzhenist takozh robit programuvannya prostishe usuvayuchi neobhidnist rozglyadati operaciyi sho ne vidnosyatsya do spravi dostupnist navit pri rozdilenni merezhi asinhronnist vidpovidnist intuyiciyi shodo uyavlennya pro chas Tim ne mensh u prichinnoyi uzgodzhenosti ye taki nedoliki Fiksaciya lishe vidimoyi lokalnoyi prichini Skladnist zabezpechennya globalnih invariantiv Skladnist pri neobhidnosti vrahovuvati odnochasni zapisi konflikti PrimitkiOdincov I O Professionalnoe programmirovanii Sistemnyj podhod 2 e SPb BHV Peterburg 2004 S 520 521 Kshemkalyani Singhal 2011 12 2 3 Causal consistency Birman Kenneth P Joseph Thomas A 5 sichnya 1987 Reliable communication in the presence of failures ACM Transactions on Computer Systems angl T 5 1 s 47 76 doi 10 1145 7351 7478 ISSN 0734 2071 Procitovano 24 bereznya 2024 Wyatt Lloyd Michael J Freedman Michael Kaminsky David G Andersen A Short Primer on Causal Consistency login The USENIX Magazine Vol 38 Number 4 August 2013 https www usenix org system files login articles 08 lloyd 41 43 online pdf