Skip to main content

Co je kontrola souběžnosti?

V programování správy dat je kontrola souběžnosti mechanismem navržený tak, aby zajistil, že přesné výsledky jsou generovány souběžnými operacemi.Tyto výsledky musí být také získány včas.Řízení souběžnosti je velmi často vidět v databázích, kde existuje mezipaměť prohledávatelných informací pro uživatele, aby se získali.

programátoři se snaží navrhnout databázi takovým způsobem, že vliv důležitých transakcí na sdílená data bude sériově ekvivalentní.To znamená, že data, která vytvářejí kontakt se sadami transakcí, by byla v určitém stavu, kdy jsou výsledky dosažitelné, pokud všechny transakce provádějí sériově a v určitém pořadí.Někdy jsou tato data neplatná v důsledku jejich upravení dvěma transakcemi, souběžně.přístup.To je však nadměrné, a neumožňuje programátorovi těžit z kontroly souběžnosti v distribuovaném systému.Kontrola souběžnosti umožňuje současné provádění více transakcí a zároveň tyto transakce udržuje od sebe, což zajišťuje linearizovatelnost.Jedním ze způsobů, jak implementovat kontrolu souběžnosti, je použití exkluzivního zámku na konkrétním zdroji pro provádění sériových transakcí, které sdílejí zdroje.Transakce zamknou objekt určený k použití, a pokud nějaká jiná transakce podá žádost o objekt, který je uzamčen, musí tato transakce počkat, až se objekt odemkne.Servery, které vydávají zámky zdroje.Je to velmi podobné serverům pro centralizované vzájemné vyloučení, kde mohou klienti vyžádat zámky a odesílat zprávy pro uvolnění zámků na konkrétní zdroj.Pro kontrolu souběžnosti je však stále nezbytné zachování sériového provedení.Pokud dvě samostatné transakce přistupují k podobné sadě objektů, musí být výsledky podobné a jako by tyto transakce byly provedeny v konkrétním pořadí.Pro zajištění pořadí přístupu ke zdroji je zavedeno dvoufázové zamykání, což znamená, že transakce nejsou povoleny nové zámky po uvolnění samostatného zámku.fáze, kde transakce získává potřebný zámek.Další fáze je považována za zmenšující se fázi, ve které transakce uvolní zámky.S tímto typem uzamčení jsou problémy.Pokud transakce přeruší, jiné transakce mohou používat data z objektů upravených a odemčených přerušenými transakcemi.To by mělo za následek přerušení dalších transakcí.