Skip to main content

Co je to případná konzistence?

Eventuální konzistence je programovací model, ve kterém programátoři předpokládají, že po dlouhou dobu a bez změn v systému bude současná verze konkrétního programu nakonec distribuovat, dokud nebude každá replika programu konzistentní.Koncept případné konzistence se používá při programovacích metodách, jako je optimistická replikace, distribuovaná sdílená paměť a distribuované transakce.Pokud jde o databáze, případná konzistence je dosažena prostřednictvím třístupňového procesu.Nejprve jsou distribuované informace k dispozici v systému;Následuje měkký stav, ve kterém různí uživatelé mohou stále pracovat s různými verzemi dat;A konečně je dosažena konzistence a všechny počítače mají přístup k identickým datům.Prvních několik sekund po uvolnění aktualizace to nikdo nebude mít;Uživatelé softwaru pro stahování a instalaci aktualizace uběhly dost času.Toto je dostupný stav;Aktualizace existuje, ale musí být ještě distribuována.V průběhu času, když uživatelé stahují aktualizaci, ji někteří budou mít a někteří nebudou.Po uplynutí dost času však bude každý, kdo používá software, aktualizován na nejnovější verzi.Toto je předpoklad státu případné konzistence: vzhledem k dostatečnému času se každá aktualizace plně propaguje v celém systému.

Protože systém pracuje na eventuální konzistenci, jsou konflikty nevyhnutelné.K tomu dochází, když verze programu nebo informace v současné době v počítači neodpovídají modelové verzi programu.Programy jsou obvykle nastaveny tak, aby tyto konflikty rozpoznaly a spravovaly je.Pokud jsou soubory na konkrétním počítači starší než nejnovější verze dotyčného modelu nebo datového softwaru, systém obvykle podnítí uživatele, aby zahájil aktualizaci k vyřešení disparity.

K dispozici jsou tři možné metody pro provedení těchto rozlišení: oprava zápisu, opravy čtení a asynchronní opravy.Všechny tyto metody přinášejí verzi programu nebo dat v souladu s konzistentním modelem.Klíčový rozdíl mezi nimi má co do činění s tím, jak systém dochází k opravě.Všechny takové operace mají výhody a nevýhody.Tím se opravuje nekonzistentnost, přináší program nebo data v souladu s modelem, ale také dočasně zpomaluje původní operaci zápisu.Pro opravu čtení dochází k nápravné operaci během cyklu čtení z pevného disku.To zase zpomaluje operaci čtení.Při asynchronní opravě dochází k opravě, když nedojde k operaci čtení ani zápisu, což vede ke konzumaci nečinných cyklů na CPU.