Skip to main content

Co je izolace snímků?

Izolace Snapshot je vlastnost ve zpracování transakcí a databází, která zaručuje všechna čtení, která jsou provedena v transakci, viz stejný databázový snímek.To znamená, že se transakce zavádí ke úspěšnému zpracování žádosti, pokud její aktualizace nejsou v rozporu s žádnými jinými souběžnými aktualizacemi.Izolace snímku je řídicí algoritmus pro více verze souběžnosti, který poskytuje izolační úrovně, které se vyhýbají problémům, které se běžně vyskytují se souběžností.Tato izolace byla implementována několika různými servery strukturovaného jazyka dotazů (SQL), která pracuje s minimálním množstvím serializačních anomálií.Izolace snímků však nezaručí úplnou serializovatelnost na serveru.

Mnoho hlavních systémů správy dat obsahuje výchozí úrovně izolace, které nejsou serializovatelné a často se setkávají s anomáliemi serializace bez izolace snímku.To může způsobit, že velké systémy mají každý den četné výskyty chyb izolace, což může vést k poškození dat, zejména to, co se nachází ve skladových aplikacích dat.Důvod, proč by systém mohl v tomto stavu fungovat, je ten, že aplikace, které běží na nižších úrovních izolace, mohou zlepšit účinnost, pokud nedojde k závažným chybám.Včetně izolace snímků v systému snižuje tyto anomálie a mdash;při přijímání času provozu a množství chyb, které se vyskytují v úvahu mdash;ještě více zvyšuje účinnost.

Některé databáze nabízejí izolaci snímků na rozdíl od plné serializovatelnosti, ale v databázi s využitím tohoto typu izolace mohou nastat také anomálie.Tyto anomálie mohou vést k porušování konzistence dat, protože transakce, které udržují konzistenci, se prokládají nebo jsou uspořádány ve střídavých vrstvách.Jedním ze způsobů, jak problém vyřešit a zabránit, jako jsou takové anomálie, je manipulovat s aplikacemi zavedením umělých zámků a protichůdných aktualizací, které následovala analýza konfliktů mezi každou dvojicí transakcí.Jiným způsobem, jak tyto anomálie vyřešit, je však upravit algoritmy kontroly souběžnosti databázového systému pro automatické detekce a prevence anomálií izolace snímku za běhu.To lze provést pro důležité nebo libovolné aplikace, ale poskytuje izolaci, která je serializovatelná.Tam, kde časné verze serveru SQL používaly uzamčení jako základ pro souběžnost, je izolace snímků závislá na vylepšení verzí řádků určených ke zlepšení výkonu.Zlepšuje tento výkon, když narazí na scénáře s blokováním čtení nebo zápisu tím, že se jim vyhýbáte.